
- Backup Diferencial.
+ Responder ao Tópico
-
Backup Diferencial.
Olá!
Alguém aqui faz backup diferencial com o TAR?
Tem alguma receita de bolo para passar?
rsrs...
Abraço,
Valeu
-
backup - incremental
Eu sei q vc falou em backup diferencial, nesse link estão tratando de backup diferencial naum sei se te ajuda, da uma olhada...
https://under-linux.org/modules.php?...wtopic&t=31248
-
Backup diferencial - para estudos.
BLZ
###
##
##
##
##################################
#!/bin/sh
# Script de backup para arquivos - estudo
# Author: Rogerio de Araujo Rodrigues
# Dt: 25/04/2005
# Alteracao: 11/08/2005
# Author: Rogerio de Araujo Rodrigues
# [email protected]
Dt=`date +%d-%m-%Y-%H-%M`
DtDir=`date +%d-%m-%Y`
DirMont=`cat /etc/fstab | grep montados | awk '{ print $2 }'`
echo "Verificando os arquivos mais antigos para liberar espacos em disco para a gravacao de backup." >> /var/log/backup/backup-$Dt.log
echo "Estes são os arquivos...:" >> /var/log/backup/backup-$Dt.log
FilesDirAntgs=`ls -t /backup/COMPACTADOS | tail -n 24`
echo " " >> /var/log/backup/backup-$Dt.log
echo " " >> /var/log/backup/backup-$Dt.log
echo $FilesDirAntgs >> /var/log/backup/backup-$Dt.log
echo " " >> /var/log/backup/backup-$Dt.log
echo " " >> /var/log/backup/backup-$Dt.log
echo "Apagando os arquivos mais antigos. Sao os 24 mais antigos." >> /var/log/ba ckup/backup-$Dt.log
echo "Caso for incluir mais diretorios no backup, some mais um na busca na linha acima com tail -n 24." >> /var/log/backup/backup-$Dt.log
cd /backup/COMPACTADOS
OndEstou=`pwd`
if [ $OndEstou == /backup/COMPACTADOS ]
then
echo "Diretorio correto foi encontrado apagando os arquivos..." >> /var/l og/backup/backup-$Dt.log
# rm -rf $FilesDirAntgs 1> /var/log/backup/backup-$Dt.log 2> /var/log/back up/backup-$Dt.log
else
echo "Nao estou no diretorio certo estou abortando e nao vou apagar os ar quivos - Verifique!!!" | mail -s "Erro no backup em disco -Verifique!!!" [email protected]
echo "Nao estou no diretorio certo estou abortando e nao vou apagar os ar quivos - Verifique!!!" >> /var/log/backup/backup-$Dt.log
fi
for MontOk in `echo $DirMont`
do
df $MontOk > /dev/null
result=`echo $?`
if [ $result == 0 ]
then
echo "$Dt Compatilhamento $MontOk Montado com sucesso" >> /var/log /backup/backup-$Dt.log
else
echo "$Dt - Problema com o compartilhamento $MontOk em /montados - Verifique!!!" | mail -s "Problema com Backup" [email protected]
echo "$Dt - Problema com o compartilhamento $MontOk em /montados - Verifique!!!" >> /var/log/backup/backup-$Dt.log
echo "Tentando montar o diretorio $MontOk em /montados!!!" >> /var/ log/backup/backup-$Dt.log
mount /montados/$MontOk
resulttent=`echo $?`
if [ $resulttent == 0 ]
then
echo "Tentativa de montagem do diretorio $MontOk executada c om sucesso!!!" >> /var/log/backup/backup-$Dt.log
else
echo "Tentativa de montagem do diretorio $MontOk com falha!! !" | mail -s "Problema com Backup" [email protected]
echo "Tentativa de montagem do diretorio $MontOk com falha!! !" >> /var/log/backup/backup-$Dt.log
fi
fi
done
rsync -carlpt --exclude-from=/usr/local/bin/forarsync.txt /montados/* /backup/
resultrsync=`echo $?`
echo $resultrsync > /tmp/saidarsync.txt
if [ $resultrsync == 0 ]
then
echo "$Dt - Sincronizacao dos arquivos efetuada com sucesso!!!" >> /v ar/log/backup/backup-$Dt.log
else
echo "$Dt - Problema com sincronizacao dos arquivos compartilhados - Verifique!!!" | mail -s "Problema com Rsync" [email protected]
echo "$Dt - Problema com sincronizacao dos arquivos compartilhados - Verifique!!!" >> /var/log/backup/backup-$Dt.log
fi
echo "Criando o diretorio da data atual para a gravacao dos backups compactados" >> /var/log/backup/backup-$Dt.log
mkdir /backup/COMPACTADOS/$DtDir
resultmkdir=`echo $?`
if [ $resultmkdir == 0 ]
then
echo "$Dt - Criacao do diretorio com a data para a gravacao do backup criada com sucesso!!!" >> /var/log/backup/backup-$Dt.log
else
echo "$Dt - Erro para criar o diretorio com a data para a gravacao do backup - Verifique!!!" | mail -s "Erro no backup em disco" [email protected]
echo "$Dt - Erro para criar o diretorio com a data para a gravacao do backup - Verifique!!!" >> /var/log/backup/backup-$Dt.log
fi
for Backs in `ls /backup | grep -v BackupRodosis | grep -v BackupAutotrac | grep -v Omnilink | grep -v SpoSat01 | grep -v SpoSat01 | grep -v ex-colabs | grep -v lost+found | grep -v Backup-Linux | grep -v COMPACTADOS`
do
tar zcpf /backup/COMPACTADOS/$DtDir/$Backs-$Dt.tar.gz /backup/$Backs
resulttar=`echo $?`
if [ $resulttar == 0 ]
then
echo "$Dt - Compactacao do diretorio $Backs executada com sucesso!! !" >> /var/log/backup/backup-$Dt.log
else
echo "$Dt - Problema com a compactacao do diretorio $Backs - Verifi que!!!" | mail -s "Problema com backup" [email protected]
echo "$Dt - Problema com a compactacao do diretorio $Backs - Verifi que!!!" >> /var/log/backup/backup-$Dt.log
fi
done
Used=`df -h | grep backup | awk '{ print $4 } ' | cut -f1 -d"%"`
if [ $Used -ge 75 ]
then
echo "$Dt - Problema com o espaco em disco na particao de backup -- Verif ique!!!" | mail -s "Problema com o backup" [email protected]
echo "$Dt - Problema com o espaco em disco na particao de backup -- Verif ique!!!" >> /var/log/backup/backup-$Dt.log
else
echo "$Dt - Espaco na particao de backup ainda esta O.K." >> /var/log/bac kup/backup-$Dt.log
fi
cat /var/log/backup/backup-$Dt.log | mail -s "Resultado final do backup em disco" [email protected]
###
##
# Detalhes e observações.
1 - altere o email do destinatario dos logs para o seu email
2 - aqui eu sigo a estrutura de diretórios /backup/COMPACTADOS
onde guardo os backups compactados dos dias, mas também mantenho
uma cópia FULL via rsync no diretório /backup
3 - você pode melhorar de várias maneiras este script, eu não faço isto
porque algumas vezes outras pessoas precisam usar o backup e não conhecem a estrutura.
ex.
As várias criadas com echo $? , podem ser referenciadas diretamente e não carregadas com outros nomes.
Você pode criar uma variável do email.
Espero que ajude.