Manuale Atlantis Evo

Schedulare Backup in PostgreSQL

Per poter schedulare un backup su PostgreSQL 9.x è necessario predisporre un file batch da schedulare tramite l’Utilità di pianificazione di Windows.

Il contenuto del batch dovrà contenere il comando di PostgreSQL incaricare ad eseguire il dump con gli opportuni paramentri. La sintassi è la seguente:

pg_dump.exe -O –dbname=postgresql://utente:password@host:porta/nome_db -f nome_file.sql

Sostituire i paramentri in grassetto/italico con gli opportuni valori.

Es.:

pg_dump.exe -O --dbname=postgresql://sa:sa@127.0.0.1:5432/daodb -f backup.sql

 


Come alternativa è possibile creare un file batch come il seguente, che permette di mantenere un backup mensile:

@echo off
for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
set day=%%i
set month=%%j
set year=%%k
)
set datestr=%day%
echo datestr is %datestr%
set BACKUP_FILE=atlantis_%datestr%.backup
echo backup file name is %BACKUP_FILE%
SET PGPASSWORD=<PASSWORD>
echo on
"c:\Program Files\PostgreSQL\9.3\bin\pg_dump.exe" -i -h <HOST> -p 5432 -O -U <UTENTE> -F c -b -v -f %BACKUP_FILE% <NOME_DB>

Schedulando un backup giornaliero è possibile ottenere la storia dei backup di un mese intero. Il batch in questione crea un backup denominato atlantis_<giorno>.backup

E' stato utile?