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.763 ]
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
Eu!noel é sinônimo do Arch Linux! Por quê?
Pós-instalação do Sabayon LXDE
Xadrez no Linux - Os melhores programas para jogar e estudar
Instalando o Virtualbox da Sun Microsystems no Ubuntu
Mplayer e Mencoder com placa de TV
Automatizando digitação de códigos 2FA no browser
BackRE - Seu script de backup remoto
getopts: criando scripts Bash com parâmetros e argumentos personalizáveis
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









