如何保留最后4个完整备份

时间:2013-01-18 04:11:10

标签: linux backup dump

我有一台CentOS服务器,运行时备份到外部硬盘。

我每天凌晨4点运行完整备份,每2小时进行一次增量备份。我保留最近30天的备份,这是通过每天早上6点运行一个cron作业来实现的,它清除了超过30天的所有文件:

0  6  *  *  *  root /bin/find /mnt/hp/backups -mtime +30 -exec rm -f {} \;

最近我的硬盘空间不足,所以我正在改变我的备份策略,在过去4周内只保留4个完整备份。例如,每周一的完整备份。

如何编写脚本以保留过去4周的最后4次完整备份?我正在使用dump来执行备份

1 个答案:

答案 0 :(得分:1)

这样做:

  • 使用唯一名称前缀(例如weeklybkp_
  • )进行完整的每周备份
  • 然后在每周备份后在cron中添加如下脚本。
DELETEMORETHAN=$(ls -1 weeklybkp* | wc -l)
if [ "$DELETEMORETHAN" -gt 4 ] ; then
   COUNT=$(echo "$DELETEMORETHAN - 4" | bc -l)
   rm -rvf $(ls -1t weeklybkp* | tail -${COUNT})
fi