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.885 ]
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
Onde o Linux peca ao tentar atrair novos usuários
50 toques antes de instalar o Slackware 14.1
Configurando a impressora Epson C45 no Kurumin
PuTTY - Estabelecendo Chave Secreta com OpenSSH
Uma geral pela configuração pós-instalação do Slackware
GNU Parallel: criando atividades em paralelo com shell script
Shell Script como serviço no Windows
Ingressando estações de trabalho Ubuntu no AD com Closed In Directory
Desligar servidores quando o nobreak entra na bateria e envio de aviso por e-mail
Redundância de link de internet
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] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Instalando partes faltantes do Plasma 6
Como ler fonte de um projeto? (3)
Instalar Dual Boot, Linux+Windows. (2)









