1) Compactar a pasta /usr/application/phase1 dentro do próprio Server
2) Enviar os arquivos compactados para a maquina de CENTRALSERVER em /tmp/app_bkp
3) Enviar estes arquivos para as maquinas DataServer1 e DataServer2 em /opt/BKP_SYSTEM
4) Se os arquivos forem enviados corretamente, serão removidos da maquina CENTRALSERVERS e do Server de aplicação
5) Na execução deste script, um log será gerado com todas as informações dos comandos realizados
Para constar que o Backup foi realizado corretamente, decidi criar um log com todas as informações que o script executa juntamente com o horário em que as mesmas foram realizadas.
Segue o código, ele já foi bastante útil, pois tive que restaurar alguns backup´s que usuários deletaram ou modificaram “distraidamente”!
Bons backups para todos!!
# Passos do script:
#
# 1) Compactar a pasta /usr/application/phase1 dentro do proprio Server
# 2) Enviar os arquivos compactados para a maquina de CENTRALSERVER #em /tmp/app_bkp
# 3) Enviar estes arquivos para as maquinas DataServer1 e DataServer2 #em /opt/BKP_SYSTEM
# 4) Se os arquivos forem enviados corretamente, serao removidos da maquina #CENTRALSERVERS e do Server
# 5) Na execucao deste script, um log serah gerado com todas as informacoes dos #comandos realizados
# Created by: Alexandre Monteiro – email: alexandregms2@gmail.com
servers=`cat servers`
data=`date +%d/%m/%y`
data_file=`date +%d-%m-%y`
hour=`date +%H:%M`
log=”log_transfer”
echo -e “
########## INICIO DO BKP em $data – $hour ##########
” >> $log
VERIFY_FOLDER()
for c in $servers
do
if [ ! -z "$c" ]; then
ssh $c ‘test -d /tmp/app_bkp/ARQUIVOS’
if [ $? -eq 0 ]; then
echo “Ja existe o diretorio /tmp/app_bkp/ARQUIVOS em $c”
else
ssh $c ‘mkdir -p /tmp/app_bkp/ARQUIVOS’
if [ $? -eq 0 ]; then
echo “Diretorio /tmp/app_bkp/ARQUIVOS criado em $c”
fi
fi
fi
done
VERIFY_FOLDER
COPY_FOLDER()
for i in $servers
do
if [ ! -z "$i" ]; then
# Condicao para verificar se as maquinas sao de WEBLOGIC
if [ $i = SSWL01 ]
COPY_FOLDER
TRANSFER_FILES()
for j in $servers
do
if [ ! -z "$j" ]; then
scp $j:/tmp/app_bkp/$j*.tgz /tmp/
if [ $? -eq 0 ]; then
echo “Arquivo ‘$j’_$data_file.tgz enviado com sucesso para maquina CENTRAL_SERVER em $data as $hour” >> $log
else
echo “Arquivo ‘$j’_$data_file.tgz NAO foi enviado para maquina CENTRAL_SERVER em $data as $hour” >> $log
fi
else
echo “A transferencia nao foi realizada, a variavel esta vazia em $data as $hour” >> $log
fi
done
TRANSFER_FILES
SEND_MACHINES()
# Copiar arquivos para DataServer1
scp /tmp/*.tgz DataServer1:/opt/BKP_SYSTEM
if [ $? -eq 0 ]; then
echo “Arquivos copiados com sucesso para DataServer1 – $data – $hour” >> $log
else
echo “Arquivos nao copiados para DataServer1 – $data – $hour” >> $log
fi
# Copiar arquivos para DataServer2
scp /tmp/*.tgz DataServer2:/opt/BKP_SYSTEM
if [ $? -eq 0 ]; then
echo “Arquivos copiados com sucesso para DataServer2 – $data – $hour” >> $log
else
echo “Arquivos nao copiados para DataServer2 – $data – $hour” >> $log
fi
SEND_MACHINES
DEL_FILE()
servers=`cat servers`
for k in $servers
do
if [ ! -z "$k" ]; then
ssh $k ‘rm -f /tmp/app_bkp/’$k’_’$data_file’.tgz’
if [ $? -eq 0 ]; then
echo “Remocao do arquivo compactado (*.tgz) realizada com sucesso em $k – $data – $hour” >> $log
rm ‘/tmp/’$k’_’$data_file’.tgz’
else
echo “A remocao do arquivo compactado (*.tgz) nao foi realizada em $k – $data – $hour” >> $log
fi
else
echo “Remocao nao realizada, pois a variavel esta vazia – $data – $hour” >> $log
fi
done
DEL_FILE









