我正在尝试使用 rsync 备份一些文件,大约半 TB。现在它处于每次运行时不断发送相同文件的状态。
例如:
rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt
然后我验证这些文件是否已被复制……下次运行时它会做同样的事情
rsync -av /data/source/* user@host:/data/dest
sending incremental file list
source/file1.txt
source/file2.txt
知道为什么它会卡在这些文件上吗?我尝试清除整个目标目录并重新开始,但没有成功。
谢谢,
答案1
用于--itemize-changes
让 rsync 输出实际发生更改的内容
影响是否跳过文件的决定的选项包括:
-c
它决定是否跳过相同的文件,基于校验和-I
哪个忽略大小和时间在决定是否跳过文件时。-t
用于保留修改时间(也可以通过标志打开-a
)。如果您想使用修改时间来决定是否根据修改时间来比较文件,则需要此选项,因此如果您不想评估具有相同修改时间的文件,则需要此选项(否则就像您使用了一样-I
)。
尽管 rsync 可能会再次发送文件,但如果内容没有改变,它就不应该传输所有内容 - 运行时-v
应该打印传输中匹配了多少数据的摘要。
为了进行检查,以下内容应该有帮助:
md5sum
两端的文件 - 显示内容是否已更改ls -l
应该会显示时间戳是否已经改变。
答案2
我记得曾经出现过类似的问题,两个系统的时钟表现不太一致。我不得不用--modify-window=60
它来解释“时间异常”。