Kit de scripts para backup (Full + Diferencial + Samba + Rede)
Esse kit de scripts foi desenvolvido para realizar backup full e diferencial, via rede. Está operacional e em constante modificação. Ajuste conforme a sua necessidade. Para criar um servidor Samba, utilize os ótimos artigos encontrados no VOL.
[ Hits: 52.912 ]
Por: Perfil removido em 12/11/2011
#!/bin/bash
# Maicon Souza
# data: 22-09-11
echo "Programa de Backup Diferencial"
IFS=: # separadores
lendoidbackup(){
# Importante::::: se houver mais de uma ID, altere os trechos "${nomebackup[0]}", para "${nomebackup[$cont]}"
# nome do backup
nomebackup=(" ")
cont=0
while read linha; do
nomebackup[$cont]=$linha
let cont++
done < ./config/id_backup.txt
}
cbackup(){
# chama e roda o script de compactacao de backup
chmod +x ./compactar_backup.sh
./compactar_backup.sh
}
montaunids(){
# chama e roda o script para montar as unidades
chmod +x ./montar_unidades.sh
./montar_unidades.sh
}
echo " "
recebeinfbackup(){
# origem dos dados
receborig=(" ")
cont=0
while read linha; do
receborig[$cont]=/media/bkporig-${nomebackup[0]}-$cont
let cont++
done < ./config/lista_orig_backup.log
}
dadosdif() {
# diretorio de destino do backup
DSTDIR=/media/bkpdest/${nomebackup[0]}
DATA=`date +%x-%k%M%S`
# +xx busca arquivos criados existentes a xx minutos (arquivos que tenham mais de xx minutos)
# -xx arquivos que tenham sido criados nos ultimos xx minutos
TIME_FIND=-400
# horas = 400 minutos
TIME_DEL=+7 # dias em que permanecera o backup diferencial armazenado
# data de inicio backup
DATAIN=`date +%c`
echo " Data de inicio: $DATAIN"
# criar o arquivo dif-data.tar no diretorio de destino
ARQ=(" ")
cont2=0
while read linha; do
ARQ[$cont2]=$DSTDIR/dif-$cont2-$DATA.tar
let cont2++
done < ./config/lista_orig_backup.log
}
backupdif(){
cont3=0
while read linha; do
sync
find ${receborig[$cont3]} -type f -cmin $TIME_FIND -exec tar -rvf ${ARQ[$cont3]} {} ";"
let cont3++
done < ./config/lista_orig_backup.log
if [ $? -eq 0 ] ; then
echo "--------------------------------------"
echo "Backup Diferencial concluido com sucesso"
DATAFIN=`date +%c`
echo "Data de termino: $DATAFIN"
echo "Backup realizado com sucesso" >> ./log/backup_diferencial.log
echo "Criado pelo usuario: $USER" >> ./log/backup_diferencial.log
echo "INICIO: $DATAIN" >> ./log/backup_diferencial.log
echo "FIM: $DATAFIN" >> ./log/backup_diferencial.log
echo "------------------------------------------------" >> ./log/backup_diferencial.log
echo " "
echo "Log gerado em ./log/backup_diferencial.log"
else
echo "ERRO! Backup Diferencial $DATAIN" >> ./log/backup_diferencial.log
fi
}
procuraedestroidif(){
#apagando arquivos mais antigos (a 7 dias que existe (-cmin +2)
find $DSTDIR -name "dif*" -ctime $TIME_DEL -exec rm -f {} ";"
if [ $? -eq 0 ] ; then
echo "Arquivo de backup mais antigo eliminado com sucesso!"
else
echo "Erro durante a busca e destruicao do backup antigo!"
fi
}
####################
echo " "
clear
echo " "
echo "<----------------------->"
echo "| BACKUP DIFERENCIAL |"
echo "<----------------------->"
echo " "
echo " "
echo " "
echo " "
echo "<--------------------------------------------------------------------------->"
echo "| Sera realizado o backup diferencial, usando como base o ultimo backup ! |"
echo "<--------------------------------------------------------------------------->"
lendoidbackup
montaunids
recebeinfbackup
dadosdif
backupdif
cbackup
procuraedestroidif
exit 0
Convertendo novos usuários ao Linux
Servidor Openfire integrado ao Active Directory (Nível de Floresta 2008 R2)
Instalando a impressora Canon i250 no Linux
Regulamentação das profissões na área de informática
Shell Script nosso de cada dia - Episódio 3
Brincando com pseudoterminais e redirecionamentos
Yad 0.16 - Eu quero sempre mais de ti
Criando Autoridades Certificadores e Certificados de Testes no Linux
Assinatura de documentos PDF em lote via Bash
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
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
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Fiz uma pergunta no fórum mas não consigo localizar (20)
Quais os códigos mais dificeis que vcs sabem fazer? (8)
Pfsense inacessivel após um periodo de tempo (1)
Não consigo instalar distro antiga no virtualbox nem direto no hd (9)









