Backup Incremental
Publicado por Bruno Annunciato (última atualização em 18/07/2012)
[ Hits: 11.161 ]
Download Backup-Incremental.sh
Script para Backup Incremental de Pastas e Arquivos.
Gera Log de todas as ações feitas durante Backup.
Gera lista de arquivos salvos.
#!/bin/bash # Script para gerar Backups Incrementais. # Criado por: Bruno Annunciato #Variável correspondente ao diretório de log. (Onde o log do backup será gerado) LOGDIRECTORY=/var/log #Variáveis para a montagem do HD. DEVHD=/dev/sdb1 DEVDIRECTORY=/mnt/Backup/ #Variaveis de montagem Servidor de Arquivos. IP=192.168.7.60 MOUNTINGDIRECTORY=/mnt/DADOS/ FOLDERNETWORK=DADOS USER=USER PASS=PASSWORD UID=UID_USER GID=GID_USER #Cria o arquivo de log do script de Backup. echo "DATA: $(date +%d-%m-%Y)" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Montando o HD Externo para o Backup. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log echo "Log das Montagens dos Dispositivos" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log mount $DEVHD $DEVDIRECTORY >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "HD Externo montando com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "HD Externo NÃO montando com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Montando o Servidor de Arquivos para o Backup. mount.cifs //$IP/$FOLDERNETWORK $MOUNTINGDIRECTORY -o user=$USER,password=$PASS,uid=$UID,gid=$GID >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "Pasta na Rede montanda com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Pasta na Rede NÃO montanda com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Variável que corresponde ao diretório de destino. (Onde o backup será gravado) DAILYDIRECTORY=/mnt/Backup/Diario #Variável correspondente ao diretório de origem. (Onde o backup será gerado) BASEDIRECTORY=/mnt/DADOS #Cria a pasta do Backup Incremental do dia. mkdir $DAILYDIRECTORY/$(date +%d-%m-%Y) #Controle de Erros. if [ $? == 0 ] then echo "Pasta do Backup Incremental criada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Pasta do Backup Incremental NÃO criada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Cria o arquivo da lista de arquivos no backup. echo "DATA: $(date +%d-%m-%Y)" >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt #Localiza e copia os arquivos alterados no dia. #Gera lista de arquivos copiados do dia. echo "" >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt echo "Lista de Arquivos Backupeados" >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log echo "Log dos Arquivos Backupeados" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log echo "Aguarde backup sendo efetuado." echo "Esta parte do processo pode demorar mais de 2 horas..." find $BASEDIRECTORY -type f -newermt $(date +%Y-%m-%d) -exec cp -Raprv --parents {} $DAILYDIRECTORY/$(date +%d-%m-%Y)/ \; >> $DAILYDIRECTORY/$(date +%d-%m-%Y)/list-$(date +%d-%m-%Y).txt #Controle de Erros. if [ $? == 0 ] then echo "Copia dos arquivos alterados efetuado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Copia dos arquivos alterados NÃO efetuada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Cria o pacote ".tar.gz2". echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log echo "Log da Compactação" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log tar -vcf $DAILYDIRECTORY/$(date +%d-%m-%Y)/backup-$(date +%d-%m-%Y).tar $DAILYDIRECTORY/$(date +%d-%m-%Y)/ >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "Arquivo '.tar' criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Arquivo '.tar' NÃO criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi bzip2 $DAILYDIRECTORY/$(date +%d-%m-%Y)/backup-$(date +%d-%m-%Y).tar >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "Arquivo '.tar.bz2' criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Arquivo '.tar.bz2' NÃO criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Efetua copia para a pasta raiz. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log4 echo "Log da Copia" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log cp -v $DAILYDIRECTORY/$(date +%d-%m-%Y)/backup-$(date +%d-%m-%Y).tar.bz2 $DAILYDIRECTORY/ >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "Copia do arquivo '.tar.bz2' efetuada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Copia do arquivo '.tar.bz2' NÃO efetuada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Removendo pasta do Backup (Deixando somente o pacote ".tar.bz2"). echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log echo "Log da Limpeza" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log rm -vRf $DAILYDIRECTORY/$(date +%d-%m-%Y)/ >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "Pasta removida com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Pasta NÃO removida com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Removendo backup de 14 dias atrás. rm -vRf $DAILYDIRECTORY/backup-$(date +%d-%m-%Y -d "14 days ago").tar.bz2 >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "Backup de 14 dias atrás removido com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Backup de 14 dias atrás NÃO removido com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Montando o HD Externo para o Backup. echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log echo "Log das Desmontagens dos Dispositivos" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log umount $DEVDIRECTORY >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "HD Externo desmontado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "HD Externo NÃO desmontado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Montando o Servidor de Arquivos para o Backup. umount $MOUNTINGDIRECTORY >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log #Controle de Erros. if [ $? == 0 ] then echo "Pasta na Rede desmontada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log else echo "Pasta na Rede NÃO desmontada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log fi #Informações Finais. echo "Log armazenado em: $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log" echo "Rotina Finalizada! "
Backup copiando para ftp durante 7 dias
Serviço de conexão 3G - Debian
Mostra informações da CPU e Memória
Backup com TAR em LOG usando FITA LTO/DLT com filtro de arquivos, SPLIT em FITAS, envio de LOG por E
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
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
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
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
O que esta havendo com o mercado de ti? (9)
Não consigo cadastrar nenhuma conta online (5)
Hotspot Mikrotik nao carrega pagina de login. (0)