Rsync -u
标志可防止覆盖已修改的目标文件。如何获取由于此标志而未发送的文件列表? -v
标记会告诉我 发送了哪些文件,但我想知道哪些不是。
答案 0 :(得分:7)
-i, --itemize-changes
请求正在进行的更改的简单逐项列表 对每个文件进行,包括属性更改。这是完全正确的 与指定--out-format ='%i%n%L'相同。 如果你再说一遍 选项,未更改的文件也将输出,但仅限于 接收rsync至少是版本2.6.7(你可以使用-vv 旧版本的rsync ,但也会打开输出 其他详细消息)。
在我的测试中,-ii
选项不适用于rsync 3.0.8,但-vv
是。您的里程可能会有所不同。
通过在相反方向调用--dry-run
和--existing
的rsync,您也可以获得基本相同的信息。因此,如果您的常规转移看起来像这样:
rsync --update --recursive local:/directory/ remote:/directory/
你会使用:
rsync --dry-run --existing --recursive remote:/directory/ local:/directory/
但-vv
或-ii
更安全,更不容易被误解。