Ubuntu 使用rsync仅同步已修改的文件

Ubuntu 使用rsync仅同步已修改的文件,ubuntu,rsync,Ubuntu,Rsync,我正在尝试同步两个文件夹 /developer和/shared(在ubuntu中) 在/shared中修改文件时,我希望能够将文件复制到/developer文件夹中 我试过了 rsync -r /shared /developer 但它似乎复制了所有内容,尽管我只在那里更改了两个文件 如何仅复制已更改的文件 我也试过了 rsync -rtu /shared /developer 不知怎的,我无法理解这件事 请帮助。试试这个: rsync-a/shared//developer/ 第一次运行时

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

/developer
/shared
(在ubuntu中)

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

我试过了

rsync -r /shared /developer
但它似乎复制了所有内容,尽管我只在那里更改了两个文件

如何仅复制已更改的文件

我也试过了

rsync -rtu /shared /developer
不知怎的,我无法理解这件事

请帮助。

试试这个:

rsync-a/shared//developer/

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

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

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

试试,或者我想通知未来的读者,我没有在源文件夹和目标文件夹的末尾添加斜杠(/)。丢失这意味着共享文件夹被复制到开发者文件夹中,而不是共享文件夹的内容。这很有效,感谢您清楚地解释了答案。很抱歉迟了答复。尽管我想指出,与直接复制文件相比,单个更改文件的rsync速度似乎非常慢。但它确实让人心平气和,所以它很值得。它仍然需要扫描所有内容才能找到一个更改过的文件。