[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