rsync 模式复制:dotfiles

rsync 模式复制:dotfiles

我遵循了问题中给出的建议 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/

相关内容