Estava precisando agendar uma rotina de backup para o PostgreSQL no Windows. Depois de algum tempo pesquisando em forums e alguns blogs, vou postar aqui um passo a passo para uma solução bem rápida e simples.
Criando o arquivo:
Crie um arquivo de lote chamado “rotina_backup.bat” e insira os seguintes comandos:
@echo off
for /f “tokens=1,2,3,4 delims=/ ” %%a in (‘DATE /T’) do set hoje=%%b%%c%%d
CD “C:\Arquivos de programas\PostgreSQL\8.1\bin\”
pg_dump -U postgres meu_database > C:\bck_%hoje%.backup
exit
Você deve ter algumas preocupações com o arquivo de lote. A primeira delas é informar onde o arquivo de backup será salvo. Se você deixar o arquivo de lote como está ele criará o backup com seu nome sendo composto pela data atual no diretório “C:” ficando como o seguinte exemplo: “C:\bck_26012008.backup”.
A segunda preocupação é garantir que o arquivo de lote acesse o diretório correto do executável de dump. Se você durante a instalação usou o diretório padrão ele é o seguinte: “C:\Arquivos de programas\PostgreSQL\8.1\bin\”.
Criando a tarefa agendada:
Clique no botão Iniciar – Programas – Acessórios – Ferramentas do sistema – Tarefas agendadas e crie um agendamento para este arquivo de lote.
Caso tenha alguma dúvida de como criar uma tarefa agendada, Clique aqui.