Backup Automatizado

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

[ Hits: 12.641 ]

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

Cadastrando usuários para email no Slackware de forma mais simples

Download do banco de dados NCBI NR (DNA)

Controle total do CUPS

sorces.list

Backup de Base de Dados


  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts