我希望通过排除包含“.protect”文件的目录的整个目录和内容,在 linux 中使用 rsync 为我的 NAS 实现大约 20TB 的一些清理功能
我在子文件夹中生成非常大的缓存,例如
缓存/simulation_v001/reallybigfiles_*.bgeo
缓存/simulation_v002/reallybigfiles_*.bgeo
缓存/simulation_v003/reallybigfiles_*.bgeo
如果存在这样的文件-cache/simulation_v002/.protect
然后我想建立一个 rsync 操作将所有文件夹移动到一个临时/回收位置,不包括 cache/simulation_v002/ 及其所有内容。
我以前用 python 做过类似的事情,但我很好奇是否可以使用 rsync 或其他方法简化操作。
感谢 cas 的提示,我能够创建这个工作流来解决 bash 脚本的问题。它并不理想,因为如果它为更快的操作做了一个动作会更好(我希望 rsync 有这个能力)。该脚本将在当前文件夹下方搜索带有 find 的文件,创建排除列表,然后使用基本卷中的 rsync 将所有其他文件夹移动到垃圾文件夹,保留下面的完整路径,以便可以非破坏性地恢复任何错误。
如果此解决方案在 git dev 分支中,则链接到当前状态 - https://github.com/firehawkvfx/openfirehawk-houdini-tools/blob/dev/scripts/modules/trashcan.sh