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