如何从目录b中同步目录a中的文件?

时间:2014-01-14 09:14:26

标签: bash find rsync ls

我有两个文件夹:

目录A:

- test.txt
- subfolder1/test2.txt

目录B:

- test.txt
- test4.txt
- subfolder1/test2.txt
- subfolder1/test3.txt

现在,我想同步directory AB中的文件,但仅限A中存在的文件。因此,当我更改test4.txt时,不会发生任何事情,但是当我更改subfolder1/test2.txt时,它应该同步。

我的方法如下。获取directory A中具有目录a的相对路径的文件列表。将其作为rsync相对于directory B的参数并同步到A。 这样对吗?所以我需要一个bash脚本?我在bash脚本方面不是很有经验。

我如何获得相对路径?我cd进入目录并执行find *

非常感谢

1 个答案:

答案 0 :(得分:2)

Rsync可以选择仅更新文件而不创建新文件。来自man

--existing              skip creating new files on receiver

针对您的案例的示例rsync命令:

$ rsync -r --existing B/ A/