0

我有一个 CentOS 服务器运行备份到外部硬盘驱动器。

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

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

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

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

4

1 回答 1

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
于 2013-01-18T04:55:42.200 回答