PostgreSQL dumpen onder Linux: verschil tussen versies

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



Huidige versie van 7 feb 2017 om 20:09

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 scriptje 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