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

Using rsync to sync only files that are modified

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

/developer/shared(在 ubuntu 中)

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

我试过了

rsync -r /shared /developer

但它似乎复制了所有内容,虽然我在那里只更改了两个文件。

如何只复制改变的文件。

我也试过了

rsync -rtu /shared /developer

不知怎的,我无法理解这个问题。

请帮忙。

试试这个:

rsync -a /shared/ /developer/

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

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

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

嗯,这也行

rsync -au --delete --update /shared/ /developer/