在超过20天的文件夹中查找tar.gz文件并删除

皮肤

我有一个备份脚本,可以在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章