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: 53.545 ]
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
Como construir um pacote TGZ do zero
A imbecilidade real revelada pela realidade virtual
soundKonverter - o maravilhoso conversor de áudio
Clonezilla - Servidor de imagens (Parte II)
Prevenindo problemas com impressoras via Samba no Windows
Assinatura de documentos PDF em lote via Bash
Desligar servidores quando o nobreak entra na bateria e envio de aviso por e-mail
Piano Gripe 3 - Caracteres de controle
Blacklist - O que é? Como consultar o IP? Como automatizar?
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
O que significa essa expressão? (0)
o que é esta mensagem? relatorios do sistema (8)
como usar o caja como cliente FTP no linux mint? (2)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (3)









