[firebase-br] Batizinho para backup restore

Andrei Luís compuvale.software em gmail.com
Seg Out 5 09:32:30 -03 2009


Vou aproveitar e re-postar o código de um bat que utilizo, que contém
comandos para programar o backup no agendador de tarefas do windows, e que
coloca a data e a hora no nome do arquivo de backup. O bat utiliza o
compactador 7-Zip, mas pode ser adaptado para qualquer outro compactador.

[]
Andrei


@echo off
cls

rem Formato do nome 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 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"

"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"

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




2009/10/5 Danilo Gomes <danrgomes em gmail.com>

> Olá Fausto ...
>
>  Sim realmente amigo .... fiquem a vontade para modificar e se possivel
> postem as melhorias ...
>
> Obrigado
> ___________________________________________
>



Mais detalhes sobre a lista de discussão lista