quinta-feira, 3 de dezembro de 2009

Script de Backup

Esses dias atrás em um cliente, tive que montar um servidor de arquivos.
Utilizei o Fedora 11 e configurei o samba.
Como era uma rede de apenas 3 computadores (incluindo o servidor), todo o script de backup que achei era muito para o que eu precisava.
então decidi fazer meu script. Essa área não meu forte, mas com algumas consultas na net consegui fazer um que me atenda.
A situação é o seguinte, o backup seria gravado em DVD e guardado em outro disco também. A quantidade de arquivos que ele tinha eu poderia usar o mesmo DVD durante 10 dias. Como o comando de gravação são diferentes p/ um nova gravação multisessão e para adicionar arquivos em um DVD inciado eu fiz dois scripts e estipulei através do cron quando cada um roda. São duas pastas que serão backupeadas.

vou chamar script 1 e script 2

Script 1:

cd /dados/backup #pasta onde será criado o arquivo tar

tar -zcf bkp_$(date +%y%m%d).tar.gz /dados/origem1 /dados/origem2 #faz a compressão do dados, salvando na pasta backup o arquivo, detalhe o nome do arquivo será bkp_data que foi criado.tar.gz

find /home/bkp_antigos ! -mtime -15 | /usr/bin/xargs rm -rf #pego os backups antigos que estão na pasta /home/bkp_antigos e apago o backup com mais de 15 dias.

growisofs -Z /dev/dvd -use-the-force-luke=tty -J -R /dados/backup/* # comando para primeira gravação no DVD - Multisessão


mv -f /dados/backup/* /home/bkp_antigos # move o arquivo compactado p/ outro disco na pasta /home/bkp_antigos

Script 2:
é exatamente igual o primeiro com a exceção dessa linha:

growisofs -M /dev/dvd -use-the-force-luke=tty -J -R /dados/backup/* # comando p/ adicionar arquivo em DVD já iniciado - Repare que só foi trocado a letra Z pela letra M

No cron eu coloquei p/ executar o script 1 nos dias 1,20 e 30 de cada mês
e o script 2 executa nos retantes dos dias.

Bom é isso.