Como logar backups diários?

1

Na minha empresa, criamos backups diários (completos, não incrementais) de nossas várias coisas. Gostaríamos de rotacioná-los da seguinte maneira:

  • mantenha backups diários da última semana
  • mantenha apenas backups semanais do último mês (ou mais ou menos 3 meses)
  • mantenha apenas backups mensais do último ano

Então, basicamente, backups recentes devem ser refinados, não tão recentes - mais granulados.

E somos preguiçosos :) Isso pode ser feito com o logrotate? Ou alguma outra ferramenta?

Atenciosamente,

Mike

    
por Jasiu 27.01.2011 / 12:28

2 respostas

2

Você pode agendar um ou mais scripts, como o abaixo, com o 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

Isso precisa de um pouco de ajustes para atender suas solicitações.

    
por 27.01.2011 / 15:27
4

Eu recomendo rdiff-backup . É tão fácil quanto definir & esqueça (mas não esqueça). Outra alternativa seria rsnapshot .

    
por 27.01.2011 / 13:15