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

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


Bem, respondendo a minha pergunta sobre tirar o espaço antes do ponto no
nome do arquivo final, os comandos set estão entre parenteses, e antes do )
tem o famigerado espaco que esta sendo jogado pra variavel. É só tirar o
espaço final, ou mesmo tiar os parenteses, assim:

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

[]
Andrei

2009/4/1 Andrei Luís <compuvale.software em gmail.com>

> 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