我一直在查看有关 rsync 的不同教程,以了解我遇到的一些特定情况。
我有一个包含我所有照片的家庭服务器,该服务器是我的备份,我的电脑是接收新照片的电脑,到目前为止,我一直在手动将新照片从电脑复制并粘贴到服务器上。
我尝试设置 rsync 来自动执行此操作,原则上,它没有问题。
现在的问题是;当我启动 rsync 时,它开始复制所有文件,甚至那些已经在目标中的文件(这是因为它是第一次同步)。
所以我的问题是:rsync 是否可以验证文件是否相同(名称/大小/bin),以便它会在第一次同步时跳过复制?
答案1
你的意思是它开始再次复制所有内容,因为即使它们已经在那里,但它们有不同的时间戳,因为你自己复制了它们?
标志--size-only
,或者--checksum
,可能是您需要阻止它执行此操作的东西,但是第一次运行 rsync 时如果没有该标志,它将恢复到此行为。
不过,我认为您可能可以一直相当安全地运行它--checksum
,所以这可能不是一个问题。
答案2
我曾经遇到过一个问题,即 rsync 每次都会复制所有文件。后来我了解到,之所以发生这种情况,是因为我在 Windows 和 Linux 之间进行同步,而 Windows 的时间戳精度较低。
我解决了我的问题,将--modify-window=1
参数添加到 rsync 命令中,该命令比较 mod-times 以降低精度。