Rsync:提供未发送文件的列表

时间:2012-02-15 21:57:13

标签: rsync

Rsync -u标志可防止覆盖已修改的目标文件。如何获取由于此标志而未发送的文件列表? -v标记会告诉我 发送了哪些文件,但我想知道哪些不是

1 个答案:

答案 0 :(得分:7)

来自rsync man page

-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更安全,更不容易被误解。