CentOS:使用cron删除X天旧文件

时间:2014-07-01 06:15:07

标签: linux cron find

我想删除x天的.tar&使用cronjob的.sql个文件。

我尝试了多个命令但它没有用。

命令,如,

find /path/to/files -type f -mtime +10 -delete
find /path/to/folder -name '*.sql' -mtime +30 -delete
find "$FILEDIR" -mtime +14 -delete
[[ $FILEDIR == /home/abc/* ]] && find "$FILEDIR" -mtime +14 -delete

以上命令运行完美但不删除任何内容。 需要帮助。

1 个答案:

答案 0 :(得分:0)

我使用for循环和echo语句进行调试,并确保我不会错误地删除任何内容。

所以试试这个:

for filename in `find /path/to/files -type f -mtime +10`; do echo "rm $filename"; done

这将列出它打算做什么。检查它,确保它看起来不错,然后通过删除echo语句

运行
for filename in `find /path/to/files -type f -mtime +10`; do rm $filename; done

如果它不起作用,那么您可以将上述内容输出到文件并将其作为脚本运行

for filename in `find /path/to/files -type f -mtime +10`; do echo "rm $filename"; done > myremove.sh

然后运行它

sh -x ./myremove.sh 

并检查上面的输出是否有错误。

一旦你没有bug,你可以将cron添加为单个命令或脚本