rsync:如何仅在最顶层目录中排除Dotfile?


8

当bash与下执行备份rsync,我想排除顶级目录中的所有点文件和隐藏目录,但不是那些另有目标目录。例如:

/copyme.c  
/.dontcopythisfile  
/.dontcopythisdirectory/or_its_contents  
/directory/.butcopymetoo

rsync -a --include=".includeme" --exclude=".*" . DEST无法在子目录中复制所需的点文件,但是诸如此类的变体--exclude="./.*"也会失败。

有什么建议吗?这是否需要过滤规则而不是简单规则--exclude

regex  bash  rsync 

Answers:



0

我通常更喜欢创建包含模式的.rsync-filter文件:

- /.*

那样,

rsync -hxDPavilyzHFF --stats --delete ./ remote:/backup/

是理想的备份命令。过滤是通过-FF标志完成的。

请注意,使用此方法,您可以在各个子目录中具有各种.rsync-filter文件,并将它们应用于各自的子树。您也可以使用此方法覆盖子目录中的排除项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.