我有一个备份脚本,可以在CIFS-mount-folder中创建我的/ var / www-folder的备份(在tar.gz中)。
为了删除仅浪费内存的旧备份,我创建了一个cronjob,它每天检查一次存档是否早于20天,并在必要时删除特定的tar.gz文件。
这是我的时间表:
0 1 * * * find /my/cifs/mnt/path/*.tar.gz -mtime +20 -exec rm {} \;
是对的吗?并不是说其中有任何错误,它会删除硬盘驱动器上所有早于20天的文件,而不仅仅是备份文件夹中的文件。
通常,您将使用以下-name
选项:
0 1 * * * find /my/cifs/mnt/path/ -name '*.tar.gz' -mtime +20 -exec rm {} \;
另外,请确保您正在查找文件:
0 1 * * * find /my/cifs/mnt/path/ -name '*.tar.gz' -type f -mtime +20 -exec rm {} \;
通过拆分该-name
选项,您将在给定目录以及子目录中找到文件。另外,如果没有存档,find
则将报告错误(而不是简单地继续前进而无需采取任何措施)。
最后,您可以通过更改命令的结尾来处理带有不寻常字符(例如空格)的文件名:
0 1 * * * find /my/cifs/mnt/path/ -name '*.tar.gz' -type f -mtime +20 -exec rm {} +
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句