加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何保持:每周备份一周,每周一个月,每月一年,每年一次

发布时间:2020-12-13 18:05:29 所属栏目:Linux 来源:网络整理
导读:我需要每天在这台服务器上备份数据和配置文件.我需要保持: 每周备份一周 每周备份一个月 每月备份一年 之后的年度备份 所有这一切都是通过每天从cron运行的shell脚本完成的. 这是运行10年后备份文件的外观: blog-20050103.tar.bz2blog-20060102.tar.bz2blo
我需要每天在这台服务器上备份数据和配置文件.我需要保持:

>每周备份一周
>每周备份一个月
>每月备份一年
>之后的年度备份

所有这一切都是通过每天从cron运行的shell脚本完成的.

这是运行10年后备份文件的外观:

blog-20050103.tar.bz2
blog-20060102.tar.bz2
blog-20070101.tar.bz2
blog-20080107.tar.bz2
blog-20090105.tar.bz2
blog-20100104.tar.bz2
blog-20110103.tar.bz2
blog-20120102.tar.bz2
blog-20130107.tar.bz2
blog-20130902.tar.bz2
blog-20131007.tar.bz2
blog-20131104.tar.bz2
blog-20131202.tar.bz2
blog-20140106.tar.bz2
blog-20140203.tar.bz2
blog-20140303.tar.bz2
blog-20140407.tar.bz2
blog-20140505.tar.bz2
blog-20140602.tar.bz2
blog-20140707.tar.bz2
blog-20140728.tar.bz2
blog-20140804.tar.bz2
blog-20140811.tar.bz2
blog-20140816.tar.bz2
blog-20140817.tar.bz2
blog-20140818.tar.bz2
blog-20140819.tar.bz2
blog-20140820.tar.bz2
blog-20140821.tar.bz2
blog-20140822.tar.bz2

解决方法

你严重过度工程了.厉害.

这是一些伪代码:

>每一天:

>制作备份,放入日常目录
>删除除最后7次每日备份之外的所有内容

>每周:

>进行备份,放入每周目录
>删除除最后5个每周备份之外的所有内容

>每个月:

>制作备份,放入月度目录
>删除除最近12个月备份之外的所有内容

>每年:

>制作备份,放入年度目录

你必须实现的逻辑量大致相同,是吗?吻.

这看起来更容易:

s3cmd ls s3://backup-bucket/daily/ | 
    awk '$1 < "'$(date +%F -d '1 week ago')'" {print $4;}' | 
    xargs --no-run-if-empty s3cmd del

或者,按文件计数而不是年龄:

s3cmd ls s3://backup-bucket/daily/ | 
    awk '$1 != "DIR"' | 
    sort -r | 
    awk 'NR > 7 {print $4;}' | 
    xargs --no-run-if-empty s3cmd del

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读