PostgreSQL dumpen onder Linux: verschil tussen versies

Uit EekBoek
Naar navigatie springenNaar zoeken springen
Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 14: Regel 14:
  # paul@vandervlis.nl
  # paul@vandervlis.nl
  # scriptje om alle databases op deze machine als apart bestand te dumpen
  # scriptje om alle databases op deze machine als apart bestand te dumpen
 
  # DIR voor dump
  # DIR voor dump
  MDIR="/var/postgresqldump"
  MDIR="/var/postgresqldump"
 
  if ! test -e $MDIR; then echo "$MDIR bestaat niet"; exit; fi
  if ! test -e $MDIR; then echo "$MDIR bestaat niet"; exit; fi
  cd $MDIR
  cd $MDIR
 
  lijst=`psql -ltA|cut -d\| -f1`
  lijst=`psql -ltA|cut -d\| -f1`
 
  for database in $lijst; do
  for database in $lijst; do
   if ! test $database = "template0"; then
   if ! test $database = "template0"; then

Versie van 17 jan 2011 21:34

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