我尝试使用rsync在两台机器之间同步
文件,但它似乎复制所有
文件而不管
文件修改时间.连续两次
调用该命令会产生相同的结果,因此它显然已被破坏.
有问题的命令是:
rsync -r local/path user@host:/remote/path -v
本地文件系统是ext4而远程是ext3.我怀疑这个问题就在这里,因为当我尝试在同一个ext3系统和NTFS驱动器之间同步文件时,我遇到了类似的问题.将后者转换为ext3解决了这个问题.
我这次不能诉诸转换.有谁知道问题的确切来源和任何可能的解决方案?
rsync默认情况下不会根据
文件的
修改时间和大小复制
文件.
如果您未在命令行中使用-t,则rsync将不会保留修改时间,并且大小时间检查当然会失败.
不同文件系统的时间戳精度也很可能导致问题 – ext4支持微秒,而ext3仅限于秒.
尝试在命令行中添加–modify-window = 1,告诉rsync以一秒精度处理时间戳.
或者你可以给它一个-c来强制对文件进行校验和,但这当然比mtime大小检查慢得多,即使它确实为你节省了带宽.