You are on page 1of 2

Backup automatizado com HD externo

Autor: Christiano Bruno <christiano_metabolic at yahoo.com.br>


Data: 01/11/2007

Criando e entendendo os scripts

Este tipo de backup é útil para quem precisa compactar uma quantidade muito grande de arquivos diariamente sem perda de
tempo. O método utilizado para compressão é o "TAR.GZ", que suporta (compactado) tamanhos superiores a 2 GB,
diferentemente de arquivos "ZIP" que se corrompem.

Para começar, antes de mais nada precisaremos definir um local para guardar os scripts que serão criados.

Crie a pasta /script-backup:

# mkdir /script-backup
# cd /script-backup

Para cada dia da semana criei uma pasta dentro do meu drive (HD externo) e dei permissão total.

Antes precisei montar a partição (sdb1 é onde está meu HD externo ligado na USB):

# mount /dev/sdb1 /backup


# mkdir /backup/segunda
# chmod 777 /backup/segunda
.
.
. # mkdir /backup/sexta
# chmod 777 /backup/sexta
# umount /dev/sdb1

Esta é uma forma mais organizada de armazenar os backups. Crie as pastas de acordo com a necessidade, colocando o nome de
acordo com o dia da semana.

Para criar os scripts, abra seu editor de textos (no meu caso uso o VIM) e acrescente o código abaixo. Salve dentro da pasta
/script-backup:

# vim bkp-segunda

Faça este mesmo procedimento para os outros dias necessários. Como meu backup é diferenciado para cada dia da semana, fiz o
mesmo procedimento 5 vezes (de segunda a sexta).

OBS.: Lembre-se de alterar a variável "DIA" que está na linha 6 para não correr o risco de apagar dados por engano.

#######################################
# SCRIPT BACKUP DIÁRIO SERVIDOR DADOS #
#######################################

# DEFINE AS VARIÁVEIS QUE SERÃO UTILIZADAS


DIA=segunda-feira
DATA=`date +%d-%m-%Y-%H.%M`

# MONTA O PONTO DE MONTAGEM /BACKUP


mount /dev/sdb1 /backup
montado=`mount | grep /backup`

# SE A MONTAGEM NÃO ESTIVER UP ENTÃO FECHA, CASO CONTRÁRIO REALIZA O BACKUP


if [ -z "$montado" ]; then
exit 1
else
# APAGA OS BACKUPS ANTIGOS DO MESMO DIA DA SEMANA
rm -rf /backup/"$DIA"/*.tar.gz

# COMPACTA TODO O CONTEÚDO DAS PASTAS DENTRO DE /DADOS INDIVIDUALMENTE.


tar -zcvf /backup/"$DIA"/contabil-"$DATA".tar.gz /dados/contabil/
tar -zcvf /backup/"$DIA"/diretoria-"$DATA".tar.gz /dados/diretoria/
tar -zcvf /backup/"$DIA"/financeiro-"$DATA".tar.gz /dados/financeiro/
tar -zcvf /backup/"$DIA"/fiscal-"$DATA".tar.gz /dados/fiscal/
tar -zcvf /backup/"$DIA"/pessoal-"$DATA".tar.gz /dados/pessoal/
tar -zcvf /backup/"$DIA"/vendas-"$DATA".tar.gz /dados/vendas/

# DESMONTA O PONTO DE MONTAGEM /BACKUP


umount /backup

fi

# FIM DAS INSTRUÇÕES

Para tornar os scripts executáveis faça o seguinte:

# chmod +x bkp-segunda

Agendando a execução dos scripts

Agora vem a parte de agendar a execução dos scripts criados. Estou partindo do pressuposto que seu Linux já tenha o agendador
de tarefas cron instalado e funcionando perfeitamente.

Edite o arquivo crontab:

# vi /etc/crontab

# run-parts

# NESTA CONFIGURAÇÃO O BACKUP É REALIZADO À 1:00H DA MADRUGADA


# (HORÁRIO EM QUE O SERVIDOR FICA OCIOSO), TODOS OS DIAS DO MÊS,
# TODOS OS MESES.

00 1 * * 1 root /script-backup/bkp-segunda
00 1 * * 2 root /script-backup/bkp-terca
00 1 * * 3 root /script-backup/bkp-quarta
00 1 * * 4 root /script-backup/bkp-quinta
00 1 * * 5 root /script-backup/bkp-sexta

# DIA DA SEMANA 0-6 (O "0" É DOMINGO, "1" SEGUNDA, "2" TERCA...)

Feito isso salve o mesmo e veja os resultados. Vale lembrar que as opções são infinitas para se realizar backup. Esta que
demonstrei é bem simples e serve para backupear os arquivos dos setores da empresa onde trabalho. Como tenho muitos setores
e os dados são muitos, eu divido por dias da semana.

Ex.: Segunda, quarta e sexta faço backup do setor contábil. Terça e quinta do setor financeiro... e por aí vai.

Qualquer dúvida estou a disposição para esclarecer. Obrigado e até a próxima!

http://www.vivaolinux.com.br/artigo/Backup-automatizado-com-HD-externo

Voltar para o site