Backup Automatizado
Publicado por Antônio Cláudio da Costa Ayres 03/10/2004
[ Hits: 12.550 ]
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
Atualizando o kde para kde3.5.7
Kit de Scripts para Backup (Full + Diferencial + SMBmount + Rede) - Atualizado
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
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
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
Criando uma VPC na AWS via CLI
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)