使用 rsync 只同步被修改的文件

Pra*_*gam 3 ubuntu rsync

我正在尝试同步两个文件夹

/developer/shared(在 ubuntu 中)

当我在 中修改文件时/shared,我希望能够将文件复制到文件/developer夹中

我试过

rsync -r /shared /developer
Run Code Online (Sandbox Code Playgroud)

但它似乎复制了所有内容,尽管我只更改了那里的两个文件。

如何仅复制更改的文件。

我也试过

rsync -rtu /shared /developer
Run Code Online (Sandbox Code Playgroud)

不知何故,我无法理解这一点。

请帮忙。

ams*_*ams 5

尝试这个:

rsync -a /shared/ /developer/

第一次运行它会更新每个文件的访问时间等,但后续运行只会复制更新的内容。

  • -a意思是“存档”。它意味着-r,但也是-t你所缺少的。
  • 目录名称的尾部斜杠很重要。没有斜线,它会将源目录复制目标目录中,就像cp做的那样。这意味着当目的地已经存在或不存在时,它的行为会有所不同。

编辑:如果您希望它删除不再存在的文件,请/shared添加--delete谨慎使用。

  • 它仍然需要扫描所有内容才能找到更改的文件。 (2认同)