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.915 ]
Por: Perfil removido em 12/11/2011
#!/bin/bash
# Maicon Souza
# script de backup
# data: 22-09-11
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
}
montaunids(){
# chama e roda o script para montar as unidades
chmod +x ./montar_unidades.sh
./montar_unidades.sh
}
desmontaunid(){
# chama e roda, o script para desmontar as unidades
chmod +x ./desmontar_unid.sh
./desmontar_unid.sh
}
deleta(){
cd ./config/
rm -rf lista_diretorios.txt
cd ..
}
####################
# selecao de dados
dadoselec() {
echo " "
echo " "
echo " "
echo "<--------------------------------------------------------------------->"
echo "| BACKUP APENAS DOS DIRETORIOS PRE-SELECIONADOS ! |"
echo "<--------------------------------------------------------------------->"
echo " "
# 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
# data atual
DATA=`date +%x-%k%M%S`
TIME_BKCP=+15
# criar o arquivo full-data.tar no diretorio de destino
criartar=(" ")
cont2=0
while read linha; do
# destino
DSTDIR=/media/bkpdest/${nomebackup[0]}
criartar[$cont2]=$DSTDIR/full-$cont2-$DATA.tar.gz
let cont2++
done < ./config/lista_orig_backup.log
# data de inicio backup
DATAIN=`date +%c`
echo "Data de inicio: $DATAIN"
}
backupfullselec(){
# compressao dos arquivos
contv=0
while read linha; do
sync
tar -czvf ${criartar[$contv]} ${receborig[$contv]}
let contv++
done < ./config/lista_orig_backup.log
if [ $? -eq 0 ] ; then
echo "----------------------------------------"
echo "Backup Full concluido com Sucesso"
DATAFIN=`date +%c`
echo "Data de termino: $DATAFIN"
echo "Backup realizado com sucesso" >> ./log/backup_full.log
echo "Criado pelo usuario: $USER" >> ./log/backup_full.log
echo "INICIO: $DATAIN" >> ./log/backup_full.log
echo "FIM: $DATAFIN" >> ./log/backup_full.log
echo "-----------------------------------------" >> ./log/backup_full.log
echo " "
echo "Log gerado em ./log/backup_full.log"
else
echo "ERRO! Backup do dia $DATAIN" >> ./log/backup_full.log
fi
}
procuraedestroifullselec(){
DSTDIR=/media/bkpdest/${nomebackup[$cont]}
# apagando arquivos mais antigos (com mais de 20 dias)
find $DSTDIR -name "f*" -ctime $TIME_BKCP -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
}
####################
lendoidbackup
montaunids
dadoselec
backupfullselec
procuraedestroifullselec
desmontaunid
exit 0
O jeito fácil e o jeito difícil de inserir paginação no Open/LibreOffice
Instalando o modem Onda MSA110UP em distribuições Linux que utilizam o NetworkManager
É possível ganhar dinheiro com Software Livre?
Exportando e importando confs do Putty em Windows
Criando um servidor de impressão para residências e pequenas empresas com Linux
Monitoramento de pops para provedores
Script GitPratico para criar repositórios remotos sem logar no GitHub
getopts: criando scripts Bash com parâmetros e argumentos personalizáveis
Piano Gripe 3 - Caracteres de controle
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.
Não consigo instalar distro antiga no virtualbox nem direto no hd (11)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









