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.480 ]
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
Banda Larga é um direito de todos!
Como otimizar o desempenho do vídeo Intel com o driver i915
Eu!noel é sinônimo do Arch Linux! Por quê?
Que tal conhecer mais o Linux pondo a mão na massa? Conheça o Woo Hoo, projeto para uma nova distro
Script com muitas utilidades para arquivos e pastas
Simples sistema de backup com acesso remoto
Receba seu IP externo via e-mail ou ensine o bash a ler e enviar e-mails
Liberar navegação para Speedy Home
Entendendo, criando e editando pacotes Debian (.deb)
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Ativando o modo Quake no XFCE4-Terminal
[Tutorial] Configurando Multimaster no Samba 4 AD (DC02) + Explicação de FSMO Roles
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Como instalar Warsaw no Gentoo? (6)
Senhor Einstein tinha razão mesmo! [RESOLVIDO] (12)
Como insiro e excluo um elemento XML e JSON ao código Javascript (2)
Da pra formatar um netbook MGB e usar algum linux nele? É possível usa... (4)









