我有以下简单的脚本来备份我的网站文件和数据库。该脚本每天通过cron作业运行。
#!/bin/sh
NOW=$(date +"%Y-%m-%d")
mysqldump --opt -h localhost -u username -p'password' dbname > /path/to/folder/backup/db-backup-$NOW.sql
gzip -f /path/to/folder/backup/db-backup-$NOW.sql
tar czf /path/to/folder/backup/web-backup-$NOW.tgz /path/to/folder/web/content/
它运行良好,但我不希望大量旧备份堵塞我的系统。如何修改脚本以删除脚本运行时超过一周的任何备份?
答案 0 :(得分:0)
如何添加这样的东西:
find -ctime +7 -print0 | xargs -0 rm -v
find -ctime +7 -print0
查找所有已更改的文件(c)超过7天前(+7)并将其作为\0
分隔的字符串(-print0
)发送出去{{{ 1}}作为参数发送给xargs -0
。
答案 1 :(得分:0)
,您可以使用-delete
find /path -type f -iname "*backup*gz" -mtime +7 -delete
或者您可以使用+;
代替xargs。
find /path -type f -iname "*backup*gz" -mtime +7 -exec rm -f "{}" +;