遇到一个奇怪的问题。使用脚本遍历我们的备份文件夹并删除任何未以每月 1 日(2023-05-01)命名且超过 60 天的文件夹。
它的工作原理是,它正在检查并删除文件夹中的文件,但日期文件夹本身(和子文件夹)仍然是空的。
我在这里遗漏了什么。
find /backups/stores/ -maxdepth 2 -type d ! -name '????-??-01' -mtime +60 -exec rm -rf {} \;
答案1
不完全确定,但这可能是“排序”的效果吗?
请注意文件夹出现的顺序...
$ 查找 /etc/d* -type d -printf "%p\n"
...以及添加“sort -r”(反向排序)的效果......
$ find /etc/d* -type d -printf "%p\n" | sort -r
为了避免这样的麻烦,可以尝试
$(cd /etc/dconf/&& 查找。-mindepth 1-maxdepth 1-type d-printf“%p \ n”)
即使用子任务,首先进入cd
“工作文件夹”,然后允许使用稍微更直接的寻址来对实际文件夹进行操作。