[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Script de backup em fita,
Andre Novelli - Depto de TI <=