Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- rem Cmd Script File (dos batch)
- rem ------------------------------------------------------------
- rem Nome: backup_firebird.cmd
- rem Proposito : Realização de Backup da base de dados firebird
- rem By: Gladiston Hamacker Santana (sirhamacker[em]gmail.com)
- rem Copyright: (c) Jun 2014, Todos os direitos reservados!
- rem ------------------------------------------------------------
- set fbpath=C:\Program Files (x86)\Firebird\Firebird_2_5\bin
- set fdb_server=192.168.1.10
- set fdb_user="SYSDBA"
- set fdb_pass="masterkey"
- set fdb=c:\sistema\dados\database.fdb
- set fbk=c:\backup\database.fbk
- rem ===========================================================
- rem forçar um shutdown antes do backup
- rem Agende para horarios em que provavelmente nao esteja
- rem ninguem usando, pois se houver serao derrubados.
- rem Esta execucao ficara registrado no log do FB
- rem ===========================================================
- set msg=forçando o shutdown em %fdb_server%:%fdb%
- echo %msg%
- "%fbpath%\gfix.exe" -user %fdb_user% -password %fdb_pass% "%fdb_server%:%fdb%" -shut -force 0
- set exit_status=%errorlevel%
- if %exit_status% gtr 0 goto :erro
- rem ===========================================================
- rem shutdown realizado com sucesso, entao vamos ao backup
- rem se fizer uma adaptacao na linha abaixo usando -se então o
- rem backup será bem mais rapido
- rem ===========================================================
- set msg=backup de %fdb_server%:%fdb% em %fbk%
- echo %msg%
- "%fbpath%\gbak.exe" -v -b -t -user %fdb_user% -password %fdb_pass% "%fdb_server%:%fdb%" %fbk%
- set exit_status=%errorlevel%
- if %exit_status% gtr 0 goto :erro
- rem ===========================================================
- rem coloca o banco de dados online novamente
- rem ===========================================================
- set msg=colocando o backup online novamente %fdb_server%:%fdb%
- echo %msg%
- "%fbpath%\gfix.exe" -user %fdb_user% -password %fdb_pass% "%fdb_server%:%fdb%" -online normal
- set exit_status=%errorlevel%
- if %exit_status% gtr 0 goto :erro
- rem ===========================================================
- rem houseweeping forçado
- rem Só use em casos extremos onde existem transacoes velhas
- rem que nunca terminam e o backup foi concluido com sucesso.
- rem ===========================================================
- rem "%fbpath%\gfix.exe" -h 0 -user %fdb_user% -password %fdb_pass% "%fdb_server%:%fdb%"
- rem "%fbpath%\gfix.exe" -sweep -user %fdb_user% -password %fdb_pass% "%fdb_server%:%fdb%"
- goto :fim
- :online
- set msg=colocando o database online novamente %fdb_server%:%fdb%
- echo %msg%
- "%fbpath%\gfix.exe" -user %fdb_user% -password %fdb_pass% "%fdb_server%:%fdb%" -online normal
- goto :fim
- :erro
- echo Ocorreu um erro:
- echo %msg%
- echo Status de saida: %exit_status%
- rem se for agendar o script, remova o pause abaixo:
- pause
- rem independente do erro, tenho que trazer o DB online novamente
- goto :online
- :fim
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement