Rsync 排除文件夹并包含某些扩展名

Rsync 排除文件夹并包含某些扩展名

为夜间备份创建一个 cron 作业。我让代码以两种方式运行,但每种方式都会做一些我不想让它做的事情。

以下是我的过滤列表的内容:

- .*/

- $*

- ._*

- .*

- /.

- CacheClip/*

- gallery/*

+ *.txt
...more includes...

在以下命令中,过滤器调用不排除目录:

rsync -vvauih --include=*/ --filter='merge ~/BackUpScripts/rsync_filter.txt' --exclude=* --delete --delete-excluded --ignore-errors --prune-empty-dirs --progress --stats /Volumes/ol01 /Volumes/ol01/_PROJECT_FILES_BACKUP/Volumes/

或者,删除显式包含和排除标志的同一命令,同时将其添加+ */到筛选器列表的顶部和- *.*末尾,以排除目录并仅获取带有扩展名的文件,但也会复制所有不带扩展名的文件。在这种情况下,将末尾的排除更改为*from*.*会导致隐藏所有文件和目录。

在第二个选项中,--exclude=*在过滤器列表调用后添加也会排除所有内容,因此 rsync 不执行任何操作。

任何建议,将不胜感激。

谢谢,

相关内容