Cron 使用“查找”删除超过24小时的文件和空目录
我有这些cron任务来管理24小时后自动删除备份Cron 使用“查找”删除超过24小时的文件和空目录,cron,find,crontab,Cron,Find,Crontab,我有这些cron任务来管理24小时后自动删除备份 0 0 * * * cd /home/foo/backups && mkdir -p $(date +\%Y-\%m-\%d) 0,30 * * * * find /home/foo/backups -name "foo.*.sql.gz" -mmin +1440 -exec rm {} \; 0,30 * * * * find /home/foo/backups -mindepth 1 -type d -empty -delet
0 0 * * * cd /home/foo/backups && mkdir -p $(date +\%Y-\%m-\%d)
0,30 * * * * find /home/foo/backups -name "foo.*.sql.gz" -mmin +1440 -exec rm {} \;
0,30 * * * * find /home/foo/backups -mindepth 1 -type d -empty -delete
0,30 * * * * mysqldump -ufoo -pbar foo | gzip > /home/foo/backups/$(date +\%Y-\%m-\%d)/foo.$(date +\%Y-\%m-\%d.\%H\%M).sql.gz
我看到的是,24小时后,我会看到一个没有任何内容的/home/foo/backups文件夹,而我希望看到前一天有备份的文件夹,例如/home/backups/2013-11-20
上面的语法有什么问题?三行中的任何一行都没有创建备份。也许你漏了一行 让我们详细分析每个命令:
0 0 * * * cd /home/foo/backups && mkdir -p $(date +\%Y-\%m-\%d)
每天0.0时,它转到/home/foo/backups
,并以2013-11-20
格式创建一个目录。(您也可以说mkdir-p/home/foo/backups/$(date+\%Y-\%m-\%d)
)
每天0.30时,它在/home/foo/backups
中查找早于24小时的文件foo.*.sql.gz
。它们将被删除
0,30 * * * * find /home/foo/backups -mindepth 1 -type d -empty -delete
每天0.30时,它查找
/home/foo/backups
的空子目录。它们将被删除。删除文件查找/您的路径-mtime-1–打印| xargs rm-f编辑问题以添加所有cron任务,并意识到问题是按任务顺序出现的
0,30 * * * * find /home/foo/backups -mindepth 1 -type d -empty -delete
需要在删除任务运行之前创建备份,否则文件夹将为空并将被删除,备份将无法创建。哦 很抱歉,另一个cron任务创建了备份,备份已成功创建。请使用完整信息更新您的问题,否则没有必要寻求帮助。确切的问题是什么?你没有提供完整的信息是在浪费别人的时间。