[firebase-br] [Dica] Backup automático via Agendador de Tarefas do Windows

Andrei Luís compuvale.software em gmail.com
Qua Abr 1 13:10:41 -03 2009


Pro pessoal que precisa de uma forma automática de fazer backup, no site da
Firebase tem um artigo chamado 'Agendando backups no Windows' (
http://www.firebase.com.br/fb/artigo.php?id=1774). Há algum tempo eu venho
usando um script que montei baseando-me no exemplo do Kléber Caneva.

Rodando o script abaixo no Windows XP, ele gera arquivos de backup no
formato Backup_qua 01-04-2009_12h_00min .7z (não consegui tirar o espaço
antes do .  se alguém souber posta aí)  e dentro do arquivo 7z são colocados
dois arquivos Backup_qua 01-04-2009_12h_00min .fbk e Backup_qua
01-04-2009_12h_00min .log referentes à base de dados que foi informada. Não
sei como fica o formato em outros Windows. O script inclui também outros
arquivos, no caso os layouts de relatório do FastReport que eu utilizo.

Bem, vamos a criança:

rem COMEÇA AQUI

@echo off

if /I "%1" NEQ "/reg" goto backup
AT %2 /EVERY:segunda-feira,te,qa,qi,sexta-feira,s ,do
"%CD%\backup_automatico.bat"
AT
goto fim

: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 pastabackuptmpsys=D:\Sistemas\Dados\teste
set stringbancosys=192.168.1.2:D:\Sistemas\Dados\compuvale.fdb
set pastabackupfinalsys=D:\Sistemas\Dados\teste2
set pastarelatoriossys=D:\Sistemas\Relatorios


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

"C:\Arquivos de programas\Firebird\Firebird_1_5\bin\gbak.exe" -b -z -v
"%stringbancosys%" "%pastabackuptmpsys%\Backup_%ymd%.fbk" -Y
"%pastabackuptmpsys%\Backup_%ymd%.log" -user SYSDBA -password masterkey

"C:\Arquivos de programas\7-Zip\7z.exe" 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"

:fim

rem  Modo de uso
rem  Para criar um novo agendamento, para todos os dias da semana, na hora
desejada:
rem  backup_automatico.bat /reg 08:00
rem  onde 08:00 é o horario (hh:mm) para executar o backup

rem TERMINA AQUI

Pra quem não quer instalar o 7Zip, existe uma versão 'portable' do 7Zip,
procurem no Google.

[]s
Andrei



Mais detalhes sobre a lista de discussão lista