Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Via backup incremental
- #Log do backup gerado
- LOGDIRECTORY=/var/log
- #Variáveis para a montagem do HD.
- DEVHD=/dev/sdb1
- DEVDIRECTORY=/mnt/Backup/
- #Variaveis de montagem Servidor de Arquivos.
- #Exemplo
- IP=192.168.7.60
- MOUNTINGDIRECTORY=/mnt/DADOS/
- FOLDERNETWORK=DADOS
- USER=USER
- PASS=PASSWORD
- UID=UID_USER
- GID=GID_USER
- #Cria 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
- #Local do backup
- DAILYDIRECTORY=/mnt/Backup/Diario
- #Local backup gerado
- BASEDIRECTORY=/mnt/DADOS
- #Cria pasta do Backup do dia.
- mkdir $DAILYDIRECTORY/$(date +%d-%m-%Y)
- #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
- #Cria o pacote ".tar.gz".
- echo "" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
- echo "Log da Compactação" >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
- tar -czvf $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.bz' criado com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
- else
- echo "Arquivo '.tar.bz' 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.bz $DAILYDIRECTORY/ >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
- #Controle de Erros.
- if [ $? == 0 ]
- then
- echo "Copia do arquivo '.tar.bz' efetuada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
- else
- echo "Copia do arquivo '.tar.bz' NÃO efetuada com sucesso! " >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
- fi
- #Removendo pasta do Backup (Deixando somente o pacote ".tar.bz").
- 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
- #Remover backup de 30 dias atrás.
- rm -vRf $DAILYDIRECTORY/backup-$(date +%d-%m-%Y -d "30 days ago").tar.bz >> $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log
- #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
- #FimScript
- echo "Log armazenado em: $LOGDIRECTORY/backup-$(date +%d-%m-%Y).log"
- echo "Rotina Finalizada! "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement