如何管理音乐库在多个设备上的同步?


1

我有几种设备(服务器,塔式计算机,笔记本电脑,Android手机)。我希望所有音乐库都同步。
因此,我想到的是一个仅负责处理CRUD动作(或更确切地说是CRD)的版本控制系统。也许它可以使用其初始名称来跟踪文件,并跟踪任何重命名或删除操作。

我知道的所有流行软件(git,svn,cvs等)都没有问题,因为它们节省了过多的开销(它们与二进制文件不同)。
流媒体对我也不起作用,因为我并不总是可以连接互联网。
使用统一之类的工具同步音乐效率也很低,因为我将元数据写入文件中,因此它们的哈希值,时间戳和大小会不断变化。如果有一个差异或同步工具忽略大小的微小变化并忽略时间戳和权限等,那可能很好,但我不知道。

任何其他有创意和精妙的解决方案都欢迎。

Answers:


1

您可以将rsync配置为执行诸如忽略已存在的文件之类的操作,这将防止您担心的某些元数据更新混乱。您对此的担忧可能已被夸大了。如果仅更改了文件的一小部分,则仅更新该部分;核心rsync算法将找出大部分相同的算法。您将花费一些额外的开销来读取文件,但是大多数时候您可能会使用“ --ignore-existing”,并且只能执行较长的同步形式,从而尝试不太规律地整理所有更改。

为偏执狂写了一篇名为《rsync入门》的文章,试图解释它如何决定要做什么的一些神秘部分。这里有很多选项,您唯一不希望看到的就是能够为较大的差异设置阈值以触发一组不同的规则。在我看来,这种情况很少发生,因此您只需定期计划这些较长的同步会话之一来进行处理即可。

我还在git中维护了一些数据。我不确定您为什么会如此担心它存储二进制差异的事实。您应该能够从存储库中清除旧信息,然后在开销使您烦恼的情况下,定期对其进行压缩。git擅长处理重命名问题,以免使名称变得太糟:如果只是将某物从一个位置移到另一个位置或更改其名称,如果它确实是同一文件,git会找出并不会保存新的副本它。


0

单独的复制,更新和删除-使用性能良好的工具-我的意思是,这 unix原理,对吗?

我只是保留一组标准的标签和文件,并将它们与“基本”集同步-您可以简单地使用cp -u或您选择的其他复制工具-在我的情况下,我在Windows系统上设置了主文件,然后将文件复制到USB驱动器中,然后使用它来同步其他副本。

如果它们过时,则吹掉原始文件或仅使用rsync或unison。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.