我的文件结构如下。
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
一次多个排除 -> 这应该有效!
也许这有帮助...