我使用 Unison 将我的音乐收藏同步到几个不同的源,即通过 SSH 的几台计算机和一个硬盘。
我注意到的一件事是 SSH 更新令人难以置信快速地与硬盘驱动器同步相比,可能是因为rsync
(或在引擎盖下运行的任何内容)仅移动更改的内容。除此之外,我可以一次运行多个 SSH 复制操作,并且复制到本地 USB 硬盘驱动器的操作会被抛在脑后,因为它一次只复制一个文件,并且每次都会覆盖整个文件。
当更改 ID3v1 标签的编码(用于兼容性测试)时,我的整个约 5000 个文件音乐库更改需要备份到其他计算机和硬盘驱动器。
我有什么办法可以:
- 增加同时复制的数量;和
- 只复制文件中已更改的部分?
这是我的 Unison 个人资料:
# Unison preferences
batch = false
confirmbigdel = true
copymax = 10
logfile = .unison/unison-music.log
maxthreads = 30
perms = 0
sortbysize = true
root = /home/me/Music
root = /media/truecrypt1/media/music
答案1
copythreshold = 1024
然后使用一致方式更改大于 1Mb 的文件,rsync
而不是完全重新传输。
答案2
确保该fastcheck
选项已打开(如果双方都是unix系统,则应该是默认的)。默认情况下,Unison 会查看每一侧每个文件的全部内容。这样更安全:它保证Unison运行后,两边的内容是相同的。如果文件的修改时间可能因虚假原因而更改,速度也会更快。对于大文件,这可能会很慢。使用该fastcheck
选项,如果文件的大小和修改未更改,Unison 将认为文件未更改(rsync 默认情况下会进行此优化)。
答案3
查看man rsync
并搜索该whole file
选项。--no-whole-file
可能就是您正在寻找的。我想一致也有类似的选择。