Backup Automatizado
Publicado por Antônio Cláudio da Costa Ayres 03/10/2004
[ Hits: 12.815 ]
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
Atualização Automática do Uvscan (Antivirus for linux)
Otimiza.sh - Atualiza seu Ubuntu/Debian
Dicionário e tradutor baseado no Michaelis
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (1)
Podem me chamar de 1mbecil :) (2)
Debian Stable travado em atualizações: dist-upgrade não resolve [RESOL... (11)
Como ler fonte de um projeto? [RESOLVIDO] (5)
Perfil criado no samba ad dc não loga no Windows 10 e 11 [RESOLVIDO] (14)









