如何设置 iTunes 库以供两台 Mac 之间使用?

如何设置 iTunes 库以供两台 Mac 之间使用?

正如您所看到的,这与工作无关。我有一台 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 天的免费试用期。

相关内容