有选择地清除每日完整备份
backuppurge的Python项目详细描述
列出了应在备份策略中清除的文件,其中包含每日备份 保存days天,每月备份months个月和每年备份 对于years年。每月和每年的备份总是最早的 每日备份(例如,可用的月初和年初)。
文件的日期应该嵌入到YYYY-MM-DD中的某个位置 文件名,例如homedir-2013-03-31.tgz
对于月度和年度备份,将保留可用的第一天(例如 每年一月一日,如果没有,一月二日 保存等)。
此程序可与gnu findutils的xargs(1)一起使用:
backuppurge --print0 /var/backups/ | xargs -r -0 rm
只搜索直接位于指定目录中的文件(在 上面的示例将考虑/var/backups/homedir-2013-03-31.tgz, 但不是/var/backups/etc/etc-2013-03-31.tgz)。这样可以防止意外 删除文件。如果使用–include directories(-d),则直接使用目录 下面的路径将包含在搜索中(例如,目录 /var/backups/etc-2015-07-24/将包含在清除搜索中)。
此脚本假定每日备份是完全备份,而不是增量备份。为了 例如,可以通过添加 (crontab -e)对crontab(5)文件执行如下命令:
tar czf /var/backups/etc/etc-$(date +%F).tgz /etc