PostgreSQL dumpen onder Linux: verschil tussen versies

Uit EekBoek
Naar navigatie springenNaar zoeken springen
Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 1: Regel 1:
Onderstaande scriptje gebruik ik 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.
Onderstaande scriptje gebruik ik 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 aan vanuit mijn backupscript, maar uiteraard kan het ook worden aangeroepen vanuit cron, het aanroepen gaat op deze manier:
 
Het script roep ik 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
  su postgres -c /usr/local/sbin/postgresqlbackup



Versie van 17 jan 2011 21:37

Onderstaande scriptje gebruik ik 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 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

Het script zelf:

#!/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