Backup Automatizado

Publicado por Antônio Cláudio da Costa Ayres 03/10/2004

[ Hits: 12.231 ]

Homepage: http://www.onlydesign.com.br

Download backup




Script que faz backup de um diretorio inteiro de forma automatica fazendo checagens conforme abaixo:
1º Verifica se você é root (só o root pode rodar)
2º Verifica se você tem permissão de gravação no diretorio onde vai o backup (pode ser que a partição de backup esteja montada como somente leitura)
3º Verifica se você passou apenas 1 parâmetro (o diretório a ser salvo). Caso negativo ele lhe ensina como usar o programa.
4º Aguarda 15 segundos antes de iniciar o script caso queira cancelar (pressionando Ctrl + C)
5º Faz o backup comprimido num ".tar.gz"
6º Armazena um log no mesmo diretorio onde ficou o backup com todas as cópias, data de inicio e data de término
7º Armazena ainda neste diretorio um log só com os erros que possivelmente tenham ocorrido
8º verifica o MD5 do arquivo final e salva no mesmo diretorio num arquivo de texto, pra qdo tu for voltar o backup poder checar a integridade do arquivo.

  



Esconder código-fonte

clear
 sleep 1
 echo
 echo "------------------------------------------------------------"
 echo "|                   `date +%d/%m/%Y` - `date +%H:%M:%S`                  |"
 echo "|                    Backup Automatizado                   |"
 echo "|                       Por LedStyle                       |"
 echo "------------------------------------------------------------"
 sleep 3
 if [ $UID -ne 0 ]; then
    echo "Somente o root pode disparar uma rotina de backup. Abortando..."
    exit
 elif [ $# -ne 1 ]; then
    echo
    echo
    echo "Bem vindo ao script automatizado de backup!"
    echo
    echo "Modo de uso:"
    echo
    echo "          `basename $0` {diretorio}"
    echo
    echo
    echo "Substitua {diretorio} pelo diretorio a ser feito o backup"
    echo
    echo "Nao se esqueca de editar este script e alterar a variavel DIRETORIO_BACKUP"
    echo "colocando o diretorio onde os backups devem ser armazenados."
    exit
 elif [ -w $DIRETORIO_BACKUP ]; then
    echo
    echo "Voce optou por fazer um backup do diretorio $1 e todo seu conteudo."
    sleep 2
    echo
    echo "Irei iniciar o backup em 15 segundos. Pressione Ctrl + C se quiser cancelar"
    printf " ["
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf ". "
    sleep 1
    printf " ]"
    echo
    echo "Iniciando backup em:"
    echo "5"
    sleep 1
    echo "4"
    sleep 1
    echo "3"
    sleep 1
    echo "2"
    sleep 1
    echo "1"
    sleep 1
    echo
    echo
    echo "O backup sera armazenado em $DIRETORIO_BACKUP/$NOME_ARQUIVO.tar.gz"
    echo
    echo "Iniciando processo de backup do diretorio $1 e todo seu conteudo."
    echo "Por favor aguarde... processando..."
    echo "LOG DO BACKUP DO DIA `date +%d/%m/%Y`" >> $DIRETORIO_BACKUP/$NOME_ARQUIVO.log
    echo "Hora de inicio do backup: `date +%H:%M:%S`" >> $DIRETORIO_BACKUP/$NOME_ARQUIVO.log
    tar -czvf $DIRETORIO_BACKUP/$NOME_ARQUIVO.tar.gz $1 >> $DIRETORIO_BACKUP/$NOME_ARQUIVO.log 2> $DIRETORIO_BACKUP/$NOME_ARQUIVO-erros.log
    md5sum $DIRETORIO_BACKUP/$NOME_ARQUIVO.tar.gz >> $DIRETORIO_BACKUP/$NOME_ARQUIVO-md5.txt
    echo
    echo
    sleep 1
    echo "Backup realizado com sucesso! Voce pode visualizar o log em $DIRETORIO_BACKUP/$NOME_ARQUIVO.log"
    echo "Um arquivo com o md5 se encontra em $DIRETORIO_BACKUP/$NOME_ARQUIVO-md5.txt"
    echo "Hora de termino do backup: `date +%H:%M:%S`" >> $DIRETORIO_BACKUP/$NOME_ARQUIVO.log
    echo
    echo
    echo "Obrigado por usar o script automatizado de backup."
 else
    echo "Voce nao tem permissao para escrita no diretorio de backup: $DIRETORIO_BACKUP" | tee /root/backup-$DATA_ATUAL.log
    echo "Por favor cheque as permissões e tente novamente" | tee /root/backup-$DATA_ATUAL.log
    echo "Obrigado por usar o script automatizado de backup."
 fi

Scripts recomendados

cg_ext - script para alteração de extensão de arquivos em larga escala

Configurando um Domínio no BIND9 com Debian 3.1

Slackware multilib-upgrade

Monitoramento Serviços por IP e PORTA !

Cadastrar usuario Squid


  

Comentários
[1] Comentário enviado por m0pheu5 em 19/10/2004 - 11:16h

Nossa muito bom esse script de backup, ganhei algum tempo perdido sem precisar fazer um. hehehe
Valeu obrigado

[2] Comentário enviado por ledstyle em 20/10/2004 - 00:51h

Pessoal. Dei uma mudadinha no script. Uma melhoradinha.

Ta aqui a atualização: http://www.vivaolinux.com.br/scripts/verScript.php?codigo=644

[3] Comentário enviado por marcelogomes3 em 15/07/2008 - 17:27h

como eu faço backup no linux ubuntu?


Contribuir com comentário