Backup Automatizado
Publicado por Antônio Cláudio da Costa Ayres 03/10/2004
[ Hits: 12.559 ]
Homepage: http://www.onlydesign.com.br
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.
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
Script para montagem de compartilhamento SAMBA (Gentoo)
Instalação e configuração do celular Nokia 6670 no Ubuntu 8.10
Script para criar usuarios Dialup
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Não consigo instalar o WineHQ no meu notebook vaio FE15 (Debian) (7)