PostgreSQL dumpen onder Linux

Uit EekBoek
Versie door Pvdv (overleg | bijdragen) op 17 jan 2011 om 21:34
Naar navigatie springenNaar zoeken springen

Onderstaande script gebruikik om mijn postgresql databases te dumpen tot bestanden, die weer eenvoudig gebackupped kunnen worden. Ik zet het script in /usr/local/sbin/ en maak het uiteraard uitvoerbaar.

Het script roep ik in de praktijk aan vanuit mijn backupscript, maar uiteraard kan het ook worden aangeroepen vanuit cron, het aanroepen gaat op deze manier:

su postgres -c /usr/local/sbin/postgresqlbackup

Er dient eerste een directory voor de dump te worden aangemaakt, zo:

mkdir /var/postgresqldump
chown postgres /var/postgresqldump 
chmod 700 /var/postgresqldump


#!/bin/bash
# /usr/local/sbin/postgresqlbackup
# paul@vandervlis.nl
# scriptje om alle databases op deze machine als apart bestand te dumpen
# DIR voor dump
MDIR="/var/postgresqldump"
if ! test -e $MDIR; then echo "$MDIR bestaat niet"; exit; fi
cd $MDIR
lijst=`psql -ltA|cut -d\| -f1`
for database in $lijst; do
  if ! test $database = "template0"; then
    echo -n $database
    echo -n " "
    pg_dump $database > $database.sql
  fi
done
echo