Script de backup do banco de dados PostgreSQL no windows.
Primeiro passo: Crie um arquivo com extensão.bat que seja executável no windows.
Copie e cole o código a seguir:
@echo off
for /f “tokens=1-4 delims=/ ” %%i in (“%date%”) do (
set dow=%%i
set day=%%j
set month=%%k
set year=%%l
)
set datestr=%year%_%month%_%day%_%dow%
echo datestr is %datestr%
for /f “tokens=1-4 delims=/ ” %%i in (“%date%”) do (
set dow=%%i
set day=%%j
set month=%%k
set year=%%l
)
set datestr=%year%_%month%_%day%_%dow%
echo datestr is %datestr%
set BACKUP_FILE=D:\backup_sistema\nome_do_sistema_%datestr%.backup
echo backup file name is %BACKUP_FILE%
SET PGPASSWORD=postgres
echo on
C:\”Program Files”\PostgreSQL\8.4\bin\pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v -f %BACKUP_FILE% nome_do_banco
echo backup file name is %BACKUP_FILE%
SET PGPASSWORD=postgres
echo on
C:\”Program Files”\PostgreSQL\8.4\bin\pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v -f %BACKUP_FILE% nome_do_banco
Substitua o endereço onde será salvo os arquivos de backup, no caso acima eles estão no diretório D:\backup_sistema\
Coloquei um prefixo no backup chamado nome_do_sistema, substitua pelo nome do seu sistema.
A tag %datestr% foi criada anteriormente, e criará um nome baseado no dia da semana, dia do mês, mês e ano de forma a gerar um arquivo por dia.
Neste exemplo conecto com usuário do banco postgres, com senha padrão postgres.
Indique o local onde o postgresql está instalado, mo meu exemplo C:\”Program Files”\PostgreSQL\8.4\bin\
Substitua nome_do_banco pelo nome da sua base de dados.
Pronto agora é só executar o arquivo.bat para gerar o backup do sistema.
Recomendo colocar o agendador do windows para executar o arquivo diariamente.
Fonte: http://tiagomartinscc.wordpress.com/2010/03/13/fazendo-um-script-de-backup-do-postgresql-no-windows/