![自动备份修剪解决方案?](https://linux22.com/image/1601509/%E8%87%AA%E5%8A%A8%E5%A4%87%E4%BB%BD%E4%BF%AE%E5%89%AA%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%EF%BC%9F.png)
我确信我们正面临一个非常普遍的问题:我们每天都进行备份,从而产生压缩的存档文件,这些文件的文件名中带有日期,而我们不想永远保留它们。
我认为以下要求并不太离谱:
- 删除除最后 X 个备份/天之外的所有备份
- 保留周日的备份
- 保留每月的最后备份
- 如果最新备份大小为 0/比上一个备份大/小 50% 以上,则提醒某人
我尝试过谷歌搜索,但只找到了一千个脚本,其中很多都有明显的问题和错误。难道就没有经过充分测试并拥有社区的“正确”解决方案来解决这个问题吗?我是不是注定要从 SO 或 SU 复制粘贴一个脚本,而这些脚本将不会被维护或修复错误,并且有一天可能会吃掉我们所有的备份?
答案1
政府融资服务 (祖父-父亲-儿子) 的保留方法可能是一个很好的答案。再加上一些时间恰当的 cron,如 @ivanivan 提到的。
基本上,您每天、每周和每月进行备份( cron 将控制这些备份)。
然后你可以决定保留策略
- 每日备份通常至少保存 1 周(但有时会保存 2 至 3 周)
- 每周备份通常会保留 5 周(但可能是 8 周)
- 每月备份通常会保留 6 个月或 12 个月(取决于年度/半年备份)
- 也可以进行年度/半年备份,但可能仅对会计有用,或者需要保留日志的地方
然后,crons 还会清除策略窗口之外的旧档案
正如 ivanivan 所建议的:
您的问题听起来像是一组相对简单的 shell 脚本和 cron 作业就可以解决。可能建议您不要在 Google 上搜索适合其他人情况的脚本,而是在 Google 上搜索如何学习如何编写 shell 脚本。
你可能想看看 bash 脚本 - 这是一件很值得学习的事情 :)