一次多个排除 -> 这应该有效!

一次多个排除 -> 这应该有效!

我的文件结构如下。

                     Sites
    --------------------------------------
    |                  |                 | 
    |                  |                 | 
    |                  |                 |
  Site 1              Site 2             Site3
 /      \            /     \            /     \
.git  dirX        .git    dirY        .git   dirZ
         |                  |                  |
         Config            Config            Config              

我只想复制文件夹结构、.git 及其内容以及配置。我尝试过将 rsync 与包含和排除参数一起使用,但没有成功。命令立即完成

$ rsync -avz --exclude='*' --include='*/.git' --include='*/Config'  Sites/ newDIR/

答案1

我将 rsync 与“declare”命令一起使用 -> 非常有效!声明的目录中的所有内容都会递归同步。

declare -a DIRS=("/etc /home /mnt /root /usr /var") # Which dirs to sync
sudo rsync -zaP $DIRS user@host:/path/to/folder --delete

对于排除...我看到了一个可行的解决方案,看起来与此类似:

rsync -arvzP --exclude=.ccache --exclude=build source dest

一次多个排除 -> 这应该有效!

也许这有帮助...

相关内容