Facebook

ads here

POSTGRESQL SCRIPT BACKUP AUTOMÁTICO

advertise here


Bom dia,



Após um longo tempo vim tentando fazer algo do tipo, pesquisei ali e aqui e cheguei ao fim. consegui montar um script de backup automatizado e fazendo copia do backup para um servidor ftp pessoal.



Salve o código com extensão .bat



Segue o código:


cd..
cd..
cd..

cd C:\Arquivos de Programas\PostgreSQL\8.3\bin
set pguser=postgres
set pgpassword=postgres
set dataAtual=%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%
pg_dump -Fc -h localhost -U postgres BANCO > C:\Backup\Banco_%dataAtual%.backup

ftp -s:C:\Backup\FTP.txt
A função dos cd.. é que independente de onde esteja os arquivos no momento da execução do script navegue até a raiz C:\



A função do set pguser=postgres & set pgpassword=postgres é onde você coloca o usuario e senha do PostgreSQL



A linha  set dataAtual=%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4% define data e hora atual do momento em que é feito o backup, eu particularmente prefiro não usar esta linha pois, para cada vez que o script é executado ele cria uma backup com data e hora diferentes.

Mas, não seria essa a intenção? Bom cada caso é um caso, eu uso uma rotina agendada como tarefa do windows então imagine 3 backups por dia de um banco de dados de 100MB em um ano? Quantos gigas de espaço não vai consumir? Apenas retirando esta variável você terá sempre um backup com o mesmo nome que será sobrescrito sempre que o script for executado.



A linha  pg_dump -Fc -h localhost -U postgres BANCO > C:\Backup\Banco_%dataAtual%.backup tenho varias considerações a fazer:

localhost (local onde o banco de dados se encontra), se o script for executado em outra maquina deve-se alterar de localhost para o ip do onde o banco de dados está.
postgres (Usuario do PostgreSQL)
BANCO (Nome do banco de dados que deseja efetuar o backup)
- A sintaxe C:\Backup\Banco_%dataAtual%.backup é o local onde quer que o backup seja salvo, detalhe: Se você retirou a variavel de data do script deverá também retirar o _%dataAtual%. O backup pode ser salvo com extensão .backup ou .sql.



Por fim o pulo do gato pra quem é perfeccionista como eu:



A linha ftp -s:C:\Backup\FTP.txt, vai enviar o backup para um servidor ftp de sua posse.



Segue o código, salve-o como .txt mesmo:


open ftp.seu-ftp.com.br
Usuario
Senha
cd "Pasta no servidor ftp onde vai salvar o backup" (Sem espaços e as aspas)
send C:\Backup\Banco.backup (Local onde se encontra o backup no seu computador)
close
by


Enfim, Até a próxima

Click to comment