具有特定名称的 rsync 子树?

具有特定名称的 rsync 子树?

希望这是提出这个问题的正确地方......

我有一个这样的目录树:

r/a/src/etc...
r/a/target/etc...
r/a/xyz/etc...
r/b/src/etc...
r/b/target/etc...
r/c/src/etc...
r/c/target/etc...

理想情况下,我需要做的是将target目录及其内容发送到远程服务器,并保留整体树结构。例如:

r/a/target/etc...
r/b/target/etc...
r/c/target/etc...

如果可以使用rsyncexclude/include/filters 来实现这一点,我感到很困惑。但我希望这是可行的,否则会有点麻烦。

有什么建议吗?

谢谢!

答案1

使用以下命令应该很简单:

$ rsync -aR r/*/target /destination

路径/destination可以是本地路径,也可以是其他机器上的路径。该-R选项对于保留树结构非常重要。只有目标文件夹(及其内容)才会被复制到该文件夹​​,/destination同时保留树结构。

相关内容