正如您所看到的,这与工作无关。我有一台 iMac G5,iTunes 目前托管在上面,我还刚买了一台新的 MacBook Pro。我想要做的是将我的 iTunes 库从我的 iMac 同步到我的 MacBook Pro,这样就可以在远离家庭网络的地方访问它,然后如果我对 iTunes 库进行任何更改(例如更改曲目名称),一旦我重新连接到家庭网络,它就会将这些更改同步回来。
我当前的 iTunes 包含音乐、视频、播客、播放列表和 iPhone 应用程序,我还希望 iTunes 能够集体跟踪 iMac 和 MacBook Pro 之间的播放次数。
答案1
这非常棘手,因为除了实时运行的 iTunes 实例之外,还有几个文件包含 iTunes 元数据。其中最棘手的是,iTunes 的运行实例在退出之前不会写出数据,因此如果您在 iMac 和 MBP 上都有运行实例,并且您更新了它们下面的文件,它们就会丢失。此外,路径包含在文件中,因此除非您在两台机器上有相同的路径(假设您没有更改默认值并且具有相同的用户名,这会将音乐放在 /Users/ 中),否则这将不起作用用户名/Music/iTunes/iTunes Music/ 和 /Users/ 中的元数据用户名/音乐/iTunes/{iTunes 资料库,iTunes 音乐库.xml})。
您可以使用 rsync 使音乐文件夹在两台机器上都保持最新状态,但只有当您始终在其中一台机器上添加或删除项目或仅添加项目时,此方法才能正常工作。如果是这样,MBP 上的两行代码将起作用:
% rsync -a /Users/<username>/Music/iTunes/iTunes\ Music <G5hostname>:/Users/<username>/Music/iTunes
% rsync -a <G5hostname>:/Users/<username>/Music/iTunes/iTunes\ Music /Users/<username>/Music/iTunes
您可能希望在 SSH 中使用公钥身份验证设置自动身份验证,并将其放入 cronjob 中。
为了完成元数据的移动,我建议你在两台机器上运行一个 cron 脚本,该脚本首先确定 iTunces 是否在本地机器上运行,如果没有,则如果另一台服务器上的内容比本地内容新,它会从另一台服务器 rsync 元数据文件。例如:
if [ `ps -ax | grep -v grep | grep -c iTunes` -ne 0 ] ; do
rsync -au <otherhostname>:/Users/<username>/Music/iTunes/{iTunes\ Library,iTunes Music\ Library.xml} /Users/<username>/Music/iTunes
done
这仍然假设您不会在两个实例都持续运行的情况下对它们进行修改。此外,我还没有测试过这一点,因此可能存在一些语法错误或我遗漏的细微之处。
答案2
我使用了 SuperSync,它满足了我的要求,但我只用它来播放音乐,而我并不关心播放次数,所以我不知道它是否有这样的功能。
答案3
我正在使用一个名为同步时间现在要做到这一点,我只需将整个音乐文件夹(其中还包括 iTunes 库元数据)同步到两台计算机之间即可。对于 iPhoto 来说也很好用。
答案4
我的TunesSync应该可以工作,并且有 15 天的免费试用期。