如何使用 rsync 将巨大源的副本分成两个目标?

cri*_*pto 5 rsync

我有 3 个驱动器。为此,我们将分别称它们为 A、B 和 C。

A 是 2 TB

B 是 1 TB

C 是 500 GB

我已经跑了

rsync -avz -progress A B
Run Code Online (Sandbox Code Playgroud)

现在,B是充分和我想要移动/复制的内容是不是已经在B,从A到C

对我来说,A 上的内容会发生什么并不重要,因为无论如何我都会重新格式化。

ckh*_*han 6

列出 B 上的所有文件,使用find命令说,转到该驱动器并运行:

$ find . > files-on-b.xt
Run Code Online (Sandbox Code Playgroud)

然后当您rsync从 A 到 C 时,在--exclude-from参数中指定该列表:

$ rsync -avz --exclude-from=files-on-b.txt A C
Run Code Online (Sandbox Code Playgroud)

您可能需要对列表中的前缀进行 futz,以确保它与 rsync 期望从排除列表中获得的格式/相对目录相匹配。使用-n选项运行 rsync 总是一个好主意,以查看它将要做什么而不实际执行它。

rsync手册页这个有用的博客文章以获得更多关于--exclude-from