Script para backup de banco de dados FirebirdSQL

O banco de dados FirebirdSQL tem um utilitário de linha de comando chamado gbak, inclusive é um programa muito útil.
Mas existe uma dificuldade em usa-lo de forma manual porque você tem que montar a unidade onde ficará o backup, realizar o backup e depois desmontar a unidade. Assim, há um tempo atrás desenvolvi um script que realizava essa operação de forma mais simplificada, dentro do script você indica todos os discos que pretende armazenar o backup, pode ser inclusive um pendrive, depois roda o programa e ele armazenará o backup no dito disco de forma transparente.

O script é este aqui :

http://pastebin.com/983CNRd3

Antes de executar o script, você deverá seguir os seguintes passos :

Especificando as bases de dados a serem copiadas :

Localize e edite as seguintes linhas (por volta da linha 108) :

# lista de databases do firebird a serem backupeados
# coloque os databases em ordem de importância
# lista de pastas a serem backupeadas
unset backup_lista
backup_lista=( “${backup_lista[@]}” “192.168.1.14:admin1.fdb” )
#backup_lista=( “${backup_lista[@]}” “192.168.1.14:c:/Arquivos de programas/Firebird/Firebird_2_1/security2.fdb” )

Sim, acrescente todos os banco de dados que pretende fazer o backup, na lista acima existem 2, mas você poderá acrescentar quantos houverem apenas duplicando e alterando as linhas acima.

Especificando usuário e senha para acesso ao servidor FirebirdSQL :

Localize e edite as seguintes linhas (por volta da linha 166) :

# Nome do usuário e senha que acessará a base
# de dados FirebirdSQL
FB_USER=’SYSDBA
FB_PASSWORD=’masterkey

Em geral, troca-se apenas a senha. Sem um nome de usuário e senha válido, o backup não poderá ocorrer.

Especificando as mídias que guardarão o backup :

Localize e edite as seguintes linhas (por volta da linha 176) :

# Insira os UUIDs usados para manter o backup
# Isso permitirá que este script faça backup
# apenas em discos previamente identificados
# pode ser usado qualquer disco,
# incluindo pendrives e cartões SSD
# Para saber o UUID dos discos inseridos :
# ls -l /dev/disk/by-uuid/
disco[0]=”C91C-DA27” # meu pendrive pessoal usando vfat
disco[1]=”dbf9372a-fd1e-4a5a-9e9d-011c9b093380” # disco externo ext2 sata da empresa #1
disco[2]=”ff44fe91-e61e-4d42-9d8c-6fa4ba6e9571” # disco externo ext2 sata da empresa #1
disco[3]=”4c93fef0-82f7-409e-b294-84d19b06c228” # disco externo ext2 sata da empresa #1
disco[4]=”6113ec83-d13e-4e16-9938-6faa2bbb7f72” # disco externo ext2 sata da empresa #1
disco[5]=”821be611-5106-4db6-9fb2-30b98c74ec52” # use a mesma logica para acrescentar mais discos

Um dos atos de importância com o backup é organização, assim as linhas acima identificam os discos que pretende usar, qualquer outro disco será ignorado pelo programa de backup. Pode duplicar e acrescentar quantos discos dispuser.

Tornando o script executável :

Se você salvou o link para descarregar o script como “fazer_backup_fb.sh” então execute :

cp "/local/onde/baixei/fazer_backup_fb.sh" "/usr/bin/fazer_backup_fb.sh"
chmod a+x "/usr/bin/fazer_backup_fb.sh"

Você pode fazer o backup na hora que desejar executando o script, mas convenhamos, o ideal é agendar o uso do script para um horário pouco movimentado, assim use o comando ‘cron -e’ e agende a execução do script para um horário mais conveniente :

$crontab -e

E depois informe o horário que deverá rodar o script :

# formato do crontab
# +---------------- minuto (0 - 59)
# | +------------- hora (0 - 23)
# | | +---------- dia do mes (1 - 31)
# | | | +------- numero do mes (1 - 12)
# | | | | +---- dia da semana (0 - 6) (domingo=0 ou 7)
# | | | | |
# * * * * * comando que deverá ser executado
SHELL=/bin/bash
#PATH=/sbin:/bin:/usr/sbin:/usr/bin
#MAILTO="administrador@meudominio.com.br" # so descomente se tiver algum serviço de email instalado
# backup do firebirdsql
00 20 * * 1-5 /usr/bin/fazer_backup_fb.sh

No exemplo acima, o backup está agendado para as 20:00 de segunda até sexta, apenas não esqueça de deixar plugado o disco onde manterá o backup.

Bom backup !

  1. #1 por Flávio Reis em 22 \22\UTC abril \22\UTC 2010 - 17:37

    Hamacker
    Parabéns…
    Mais um excelente tópico.
    Abraços

  2. #2 por alessandro simon em 26 \26\UTC abril \26\UTC 2010 - 19:06

    Valeu cara.

    Tópico extremamente útil.

    Saudações.

%d blogueiros gostam disto: