shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Script de backup em fita


From: Andre Novelli - Depto de TI
Subject: Script de backup em fita
Date: Tue, 10 Jul 2007 14:39:51 -0300
User-agent: KMail/1.9.7

Amigos! 

Estou tentando melhorar meus scripts shell, e gostaria de saber de voces se 
existe alguma forma melhorar este script ....

O proximo passo será montar um pequeno console, pra escolher se eu vou 
backupear ou se eu quero restarurar um backup, pretendo usar o case pra fazer 
isso, e talvez tentar arriscar com umas janelinhas, toda sugestão será bem 
vinda! 

ps.: /sbin/shutdownplan e /sbin/startplan sao scripts de shell que startam o 
banco mas nao retornam nada que eu possa saber se deu erro ou nao ... eu nao 
queria ter aqueles comandos em varios arquivos, pois eles mudam muito... Os 
comandos geram os codigos de retorno de erro e sucesso mas nao consigo 
obterlos atraves da chamada por este script... é possivel fazer com que meus 
scripts startplan e shutdownplan repassem o codigo de saida do comando que 
eles executam ? 

Obrigado pela força! 


#!/bin/sh
#################################################################
#Caminhos dos arquivos utilizados pelo script

#Caminho para o arquivo de log
ARQ_LOG='/home/dbtools/bkp_app/log/bkp-'`date +%A-%d-%B-%G`'.log'

#caminho para o banco de dados
DBDIR='/banco/oficial/plan'
DBNAME='plan'


#################################################################
#Mensagens enviadas pelo script
MSG_OK_FITA='Backup efetuado com sucesso, substitua a fita.'
MSG_ERR_FITA='Erro ao gravar o backup na fita.'
MSG_OK_DISCO='Backup efetuado em disco com sucesso'
MSG_ERRO_DISCO='Erro ao efetuar backup do banco, nao foi possivel compactar os 
arquivos.'
#################################################################
#Funcoes do script devem ser colocadas aqui

function MandaMsg {
echo $* | mail -s "BACKUP Progress DB - Embalatec" address@hidden
}

function EscreveLog {
HORA=`date +%H:%M:%S`
echo [$HORA]-$* >> $ARQ_LOG
}

##################################################################

#Iniciando o log do backup
EscreveLog 'Iniciando o procedimento de Backup' 

#####
#chutar o banco
EscreveLog 'Chutando o banco de dados'
/sbin/shutdownplan
EscreveLog '[OK]'

#####
#Posicionar no diretorio de backups
EscreveLog 'Posicionando no diretorio de backup'
cd /banco/backup  && EscreveLog '[OK]' || EscreveLog '[ERRO]' 

#####
#compactar o banco
EscreveLog 'Iniciando a compactacao do banco'
tar -cjvf backup.tar.bz2 /banco/oficial/plan/*  && EscreveLog '[OK]' || 
EscreveLog '[ERRO]' 

#####
#servir o banco
EscreveLog 'Servindo o banco de dados'
/sbin/startplan
EscreveLog '[OK]'

#####
#gravar bkp na fita
EscreveLog  'Gravando o arquivo na fita'
tar -cvf /dev/st0 backup.tar.bz2 && EscreveLog '[OK]' || EscreveLog '[ERRO]' 


#####
#ejetar a fita
EscreveLog 'Rebobinando a fita'
mt -f /dev/st0 rewind && EscreveLog '[OK]' || EscreveLog '[ERRO]'

EscreveLog 'Ejetando a fita'
mt -f /dev/st0 offline && EscreveLog '[OK]' || EscreveLog '[ERRO]'


#####
#enviar email de estatisticas do banco
ls -lh /banco/oficial/plan > status_extents.log
echo "Segue em anexo a lista de arquivos do banco de dados, evitar que os 
extents ultrapassem a marca de 1.5gb" |mutt -a status_extents.log -s "Status 
dos extents Progress" address@hidden

echo "Segue o log do backup do banco progress" |mutt -a $ARQ_LOG -s "Backup DB 
PROGRESS"

#Futuramente criar grade de backup automatica para o banco de dados.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]