
是否可以rsync
传输目录中已更改或已创建的所有文件?我不需要像 CRC 差异检查这样复杂的东西;具有不同时间戳和/或文件大小的文件算作更改。
我从手册页中得到的印象是这应该是可能的,但我需要一些关于传递哪组参数的指导rsync
。
答案1
仅同步两个目录:
$ rsync /source/path/* /dest/path/
或者如果你想要制作一整棵树:
$ rsync -a /source/path/ /dest/path/
“-a”指定“存档”模式,它尽可能紧密地复制树。
我喜欢在其中添加标志v
,P
以便我可以观察它的工作原理:
$rsync -avP /source/path/ /dest/path/
“-v” 打开详细模式,这样您就可以看到它正在做什么(它在复制时列出文件),“-P” 启用进度,这样您就可以看到复制每个文件需要多长时间(复制的百分比、剩余时间等),并允许您查看复制的进度。
答案2
这是rsync
默认的工作方式(至少在 Linux 上)。从手册页:
Rsync 使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间已更改的文件。当快速检查表明文件的数据不需要更新时,将直接在目标文件上对其他保留属性(根据选项的要求)进行任何更改。