使用crontab删除旧文件

时间:2011-03-21 08:43:08

标签: linux crontab

我使用以下crontab记录来每日备份我的数据库:

0 2 * * * MYSQL_PWD=password mysqldump -u user db_name > $HOME/db_backups/db_name-$(date +\%Y-\%m-\%d-\%H-\%M).sql 2>> $HOME/db_backups/cron.log

我想添加另一条crontab记录,该记录将删除超过一个月的数据库转储。

有什么想法吗?

3 个答案:

答案 0 :(得分:26)

find /db_backups/ -mtime +30 -delete

此命令将删除超过30天的数据库备份。

答案 1 :(得分:19)

只需创建另一个cron:

0 3 * * * find $HOME/db_backups -name "db_name*.sql" -mtime +30 -exec rm {} \; >> $HOME/db_backups/purge.log 2>&1

它会找到超过30天的所有备份并删除它们。

答案 2 :(得分:3)

有一个名为tmpreaper的工具可以安全地删除符合特定条件的文件,例如过去的访问或修改日期 n 天。