自动备份修剪解决方案?

自动备份修剪解决方案?

我确信我们正面临一个非常普遍的问题:我们每天都进行备份,从而产生压缩的存档文件,这些文件的文件名中带有日期,而我们不想永远保留它们。

我认为以下要求并不太离谱:

  • 删除除最后 X 个备份/天之外的所有备份
  • 保留周日的备份
  • 保留每月的最后备份
  • 如果最新备份大小为 0/比上一个备份大/小 50% 以上,则提醒某人

我尝试过谷歌搜索,但只找到了一千个脚本,其中很多都有明显的问题和错误。难道就没有经过充分测试并拥有社区的“正确”解决方案来解决这个问题吗?我是不是注定要从 SO 或 SU 复制粘贴一个脚本,而这些脚本将不会被维护或修复错误,并且有一天可能会吃掉我们所有的备份?

答案1

政府融资服务 (祖父-父亲-儿子) 的保留方法可能是一个很好的答案。再加上一些时间恰当的 cron,如 @ivanivan 提到的。

基本上,您每天、每周和每月进行备份( cron 将控制这些备份)。

然后你可以决定保留策略

  • 每日备份通常至少保存 1 周(但有时会保存 2 至 3 周)
  • 每周备份通常会保留 5 周(但可能是 8 周)
  • 每月备份通常会保留 6 个月或 12 个月(取决于年度/半年备份)
  • 也可以进行年度/半年备份,但可能仅对会计有用,或者需要保留日志的地方

然后,crons 还会清除策略窗口之外的旧档案

正如 ivanivan 所建议的:

您的问题听起来像是一组相对简单的 shell 脚本和 cron 作业就可以解决。可能建议您不要在 Google 上搜索适合其他人情况的脚本,而是在 Google 上搜索如何学习如何编写 shell 脚本。

你可能想看看 bash 脚本 - 这是一件很值得学习的事情 :)

相关内容