[firebase-br] Backup

Andrei Luís compuvale.software em gmail.com
Ter Mar 23 11:34:09 -03 2010


Abaixo o conteúdo de um arquivo .bat que eu uso. Ele gera o backup no
formato Backup_diasemana dd-mm-aaaa_hh_mm, e compacta com o 7zip.

*** inicio do arquivo backup_automatico.bat ***

@echo off
cls

rem Formato do arquivo final (exemplo usando a data 01/01/2009 as 08:00
rem No Windows XP:    Backup_qui 01-01-2009_08h_00min.7z
rem no Windows Vista: Backup_01-01-2009_08h_00min.7z

if /I "%1" EQU "/reg" goto registrahorario
if /I "%1" EQU "/?"   goto instrucoes
goto backup

:backup
for /F "tokens=1-3 delims=/" %%A in ('echo %date%') do set ymd=%%A-%%B-%%C
for /F "tokens=1-2 delims=:" %%a IN ('time /t') DO set ymd=%ymd%_%%ah_%%bmin

rem Explicação das variáveis

rem pastabackuptmpsys    pasta temporária
rem stringbancosys       string de conexão com o banco
rem pastabackupfinalsys  pasta onde o backup será armazenado
rem pastarelatoriossys   pasta onde estão os arquivos de layout de relatório

set caminhoGbak=C:\Arquivos de programas\Firebird\Firebird_1_5\bin\gbak.exe
set caminho7Zip=C:\Arquivos de programas\7-Zip\7z.exe
set pastaBackupTmpSys=D:\Sistemas\Meu Programa\Dados
set stringBancoSys=localhost:D:\Sistemas\Meu Programa\Dados\MEU_PROGRAMA.FDB
set pastaBackupfinalSys=D:\Sistemas\Meu Programa\Backups
set pastaRelatoriosSys=D:\Sistemas\Meu Programa\Relatorios


del "%pastabackuptmpsys%\Backup_%ymd%.fbk"
del "%pastabackuptmpsys%\Backup_%ymd%.log"
del "%pastabackuptmpsys%\Backup_%ymd%.7z"

"%caminhoGbak%" -b -z -v "%stringbancosys%"
"%pastabackuptmpsys%\Backup_%ymd%.fbk" -Y
"%pastabackuptmpsys%\Backup_%ymd%.log" -user SYSDBA -password masterkey

"%caminho7Zip%" a -t7z -mx=9 -r "%pastabackuptmpsys%\Backup_%ymd%.7z"
"%pastabackuptmpsys%\Backup_%ymd%.*" "%pastarelatoriossys%"
del "%pastabackuptmpsys%\Backup_%ymd%.fbk"
del "%pastabackuptmpsys%\Backup_%ymd%.log"
copy "%pastabackuptmpsys%\Backup_%ymd%.7z" "%pastabackupfinalsys%"
del "%pastabackuptmpsys%\Backup_%ymd%.7z"

goto fim

:instrucoes
echo  Modo de uso
echo  Para criar um novo agendamento, para todos os dias da semana, na hora
desejada:
echo  backup_automatico.bat /reg 08:00
echo  onde 08:00 é o horario (hh:mm) para executar o backup
echo  Para criar agendamentos das 07:00 as 19:00 para todos os dias da
semana:
echo  backup_automatico.bat /reg all
goto fim

:registrahorario
if /I "%2" EQU "all"  goto registratodos
AT %2 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT
goto fim

:registratodos
AT 07:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 08:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 09:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 10:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 11:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 12:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 13:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 14:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 15:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 16:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 17:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 18:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT 19:00 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT
goto fim



:fim


*** final do arquivo backup_automatico.bat ***


[]s
Andrei



Em 22 de março de 2010 14:36, Humberto Araujo <humberto701 em gmail.com>escreveu:

> Tenho conhecimento ate o momento que a ferramenta Gbak serve para realizar
> o
> backup.
>
> Gostaria de saber a forma mais utilizada por vocês, e saber se fazem o
> backup direto da aplicação.. e como é realizado se for na aplicação.
>



Mais detalhes sobre a lista de discussão lista