rsync:列出源中的新内容和修改内容

rsync:列出源中的新内容和修改内容

我正在使用以下 rsync 命令来确定源目录中较新的(或校验和不同的)所有文件,或者目标目录中不存在的所有文件:

rsync -rltDO -hvinuczz /source/ /dest

-i了解文件被传输/更新的确切原因。我省略了 dir-times ( -O),因为目标中有更新的目录,它们将显示在 rsync 生成的输出中。我使用此命令时遇到的问题是:它列出了目标中的新文件(即源中不存在的文件),如下所示:>f+++++++++

我的问题是:

(1) 为什么要-i列出这些内容?我的选项明确指定了我想要将源中较新(或具有不同校验和)的所有内容从源同步到目标。目标中存在但不在源中的文件不属于该类别。

(2)哪些选项可以实现:列出源中在目标中不存在的内容,或者在源中存在且较新(或具有不同的校验和)的内容?

注意rsync 命令描述-i如下:

-i--itemize-changes

    请求对每个文件所做的更改(包括属性更改)的简单逐项列表。这与指定--输出格式='%i %n%L'。如果你重复该选项,未更改的文件也会被输出,但前提是接收 rsync 至少是 2.6.7 版本(你可以使用-vv使用旧版本的 rsync,但这也会打开其他详细消息的输出)。

    “%i”转义具有 11 个字母长的神秘输出。一般格式类似于字符串云南省, 在哪里被正在进行的更新类型所取代,X被文件类型替换,其他字母代表修改时可能输出的属性。

    取代如下面所述:

    • A<表示文件正在传输到远程主机(已发送)。
    • A>表示文件正在传输到本地主机(已接收)。
    •    ︙

所以>f+++++++++它告诉我有一个新的文件需要传输——如果我解释文档,它应该在本地端(==源)接收。真的吗?

相关内容