我正在使用 rsync 移动文件,并且希望能够选择目标文件夹以查看已传输的内容和未传输的内容。
这是我正在使用的命令:
rsync -azh --info=progress2 [email protected]:/home/backups/ /home/backups/
问题是,rsync
创建目录和传输文件似乎相当随机。因此,当我查看时/home/backups/
,我看到很多目录,但大多数都是空的。
是否可以指示rsync
向下移动目录树,然后仅在分支完全复制后才返回?我想让它做一个深度优先搜索遍历。
答案1
Rsync 实际上确实进行了深度优先遍历,但它分两遍进行。在第一遍中,它创建目录结构,然后第二遍复制文件。我自己并不能 100% 确定为什么会这样操作,但我相当确定这是按源参数完成的,因此理论上您可以通过将源目录拆分为单个项目来部分避免这种行为(所以如果您作为/some/path
您的源,您可以将其更改为/some/path/*/
让 rsync 在完成前面的目录时仅创建顶级目录)。