带过滤器的 rsync

带过滤器的 rsync

我想将源代码文件从远程文件系统复制到本地服务器。源代码文件扩展名是 *.?pp、*.[CHh]。

如何运行 rsync 来复制远程文件系统层次结构和源代码文件,排除其他所有内容(二进制文件、库、对象、存储库文件......)?

附言:到目前为止,我用的是这条可怕的线路,一定有一个更简单的解决方案:

$ rsync --include "*/" --include="*/*" --include="*/*/*" --include="*/*/*/*" --include="*.[CHh]" --include="*.?pp" --exclude="*" -axW user@remote/my/remote/dir ./

答案1

您可以使用双星来简化包含内容:

rsync -axW --exclude="*" --include="**/.[CHh]" --include "**/*.?pp" ...

相关内容