如何对每日备份进行日志轮转?

如何对每日备份进行日志轮转?

在我的公司,我们每天都会为各种内容创建备份(完整备份,而非增量备份)。我们希望按以下方式轮换备份:

  • 保留过去一周的每日备份
  • 仅保留过去一个月(或 3 个月左右)的每周备份
  • 仅保留去年的每月备份

所以基本上,最近的备份应该是细粒度的,而不是那么新 - 更粗粒度。

我们很懒 :) 可以用 logrotate 完成吗?或者其他工具?

问候,

麦克风

答案1

您可以使用 cron 安排一个或多个如下所示的脚本。

#!/bin/bash

BULOG=/srv/backup/savelog
BULST="/etc /srv/www /var/lib/named"
[email protected]

today=`date +%d%m%y`
deldate=`date +%d%m%y --date '7 day ago'`
echo "Backup started: "`date`> $BULOG
echo "Backup "`date`         >>/srv/backup/ErrorLog

cd /srv/backup
rm -f backup$deldate.tar.gz

tar czf /srv/backup/backup$today.tar.gz $BULST 2>>/srv/backup/ErrorLog
if [ $? -eq 0 ];then
        echo "Backup $BULST success" >> $BULOG
else
        echo "Backup $BULST NOT processed" >> $BULOG
fi

echo "-------" >>/srv/backup/ErrorLog

echo "Backup finished: " `date` >> $BULOG

cat $BULOG | mail -s MyBacukp_$today $EMAIL

这仅需要进行一点点调整即可满足您的请求。

答案2

我强烈推荐rdiff-备份。设置后就忘掉它(但别忘了它)很简单。另一种选择是快照

相关内容