Este script foi criado para utilização de backup e restauração de banco de dados do Firebird, aqui na empresa onde trabalho utilizamos sistema de gestão comercial iSolidus, e para a segurança do banco é necessário sempre realizar uma limpeza, checagem de erros, e criar um backup. Caso tenha mais algum usuário que utilize banco de dados do Firebird, acredito que funcionara normalmente.
Open Your Minds!
#!/bin/bash
# Script de Backup e Restauração Banco de Dados Firebird/Sistema iSolidus
# By: Francisco Stringuetta
# <stringuetta@gmail.com>
# Variaveis
gfix=”/usr/lib/firebird/2.1/bin/gfix”
gbak=”/usr/lib/firebird/2.1/bin/gbak”
dir_bkp=”/home/solidus/backup_bkp”
dir_banco=”/home/solidus/dados”
userpw=”-user SYSDBA -pass XXXXXXX”
gestao=”gestao.fdb”
online=”online.fdb”
# Iniciando procedimentos
# Finaliza transações pendentes
$gfix -commit all $dir_banco/$gestao $userpw
$gfix -commit all $dir_banco/$online $userpw
# Desliga o banco
$gfix -shut -force 0 $dir_banco/$gestao $userpw
$gfix -shut -force 0 $dir_banco/$online $userpw
# Realiza limpeza do banco
$gfix -sweep $dir_banco/$gestao $userpw
$gfix -sweep $dir_banco/$online $userpw
# Verifica erros
$gfix -v -f $dir_banco/$gestao $userpw >> error.log 2>> $dir_banco/erro.log
$gfix -v -f $dir_banco/$online $userpw >> error.log 2>> $dir_banco/erro.log
# Prepara o banco
$gfix -m -i $dir_banco/$gestao $userpw
$gfix -m -i $dir_banco/$online $userpw
# Realiza o backup
$gbak -backup -garbage -limbo -ignore -v -t $dir_banco/$gestao “$dir_banco/gestao.fbk” $userpw
$gbak -backup -garbage -limbo -ignore -v -t $dir_banco/$online “$dir_banco/online.fbk” $userpw
# Movendo o Banco Original
mv -v $dir_banco/$gestao $dir_bkp
mv -v $dir_banco/$online $dir_bkp
# Restaurando Backup
$gbak -c -p 16384 -v $dir_banco/gestao.fbk “$dir_banco/$gestao” $userpw
$gbak -c -p 16384 -v $dir_banco/online.fbk “$dir_banco/$online” $userpw
# Iniciando o Banco
$gfix -online $dir_banco/$gestao $userpw
$gfix -online $dir_banco/$online $userpw
Publicado por Francisco E. Massari Stringuetta
Fonte: viva o linux












