![rsync 模式复制:dotfiles](https://linux22.com/image/17287/rsync%20%E6%A8%A1%E5%BC%8F%E5%A4%8D%E5%88%B6%EF%BC%9Adotfiles.png)
我遵循了问题中给出的建议
Rsync 过滤器:仅复制一种模式要设置命令行,我只需要备份点文件.inF*
然而使用命令:
rsync -av --include='.inF*' --include='*/' --exclude='*' /0ale/ \
root@lambda2:/0ale/
我发现目录结构被镜像,但没有复制点文件。具有测试模式的相同命令
rsync -av --include='test*' --include='*/' --exclude='*' /0ale/ \
root@lambda2:/0ale/
正确复制文件test1.txt
,因此这只是点文件的问题。有什么提示吗?
答案1
中的包含/排除过滤器rsync
按照它们出现的顺序进行处理。为了匹配子目录(或当前工作目录以外的任何目录rsync
)中的点文件,您需要将*/
包含规则首先包含文件夹,然后.*
匹配包含点文件。
rsync -av --include='*/' --include='.inF*' --exclude='*' /0ale/ \
root@lambda2:/0ale/
答案2
我尝试过类似于上面答案的方法来复制点文件(模式是--include='.**' --exclude='*'
:),但发现我想要的其他一些排除实际上并未被排除。
如果您--exclude=
想传递其他标志,请使用以下模式:
rsync -avz --exclude='path/to/exclude1' --exclude='path/to/exclude2' --exclude='.Trash' /0ale/.[^.]* root@lambda2:/0ale/