PostgreSQL dumpen onder Linux: verschil tussen versies

Uit EekBoek
Naar navigatie springenNaar zoeken springen
(Nieuwe pagina aangemaakt met '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/...')
 
Geen bewerkingssamenvatting
Regel 9: Regel 9:
  chmod 700 /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
#!/bin/bash
MDIR="/var/postgresqldump"
# /usr/local/sbin/postgresqlbackup
# paul@vandervlis.nl
# scriptje om alle databases op deze machine als apart bestand te dumpen


if ! test -e $MDIR; then echo "$MDIR bestaat niet"; exit; fi
# DIR voor dump
cd $MDIR
MDIR="/var/postgresqldump"


lijst=`psql -ltA|cut -d\| -f1`
if ! test -e $MDIR; then echo "$MDIR bestaat niet"; exit; fi
cd $MDIR


for database in $lijst; do
lijst=`psql -ltA|cut -d\| -f1`
  if ! test $database = "template0"; then
 
    echo -n $database
for database in $lijst; do
    echo -n " "
  if ! test $database = "template0"; then
    pg_dump $database > $database.sql
    echo -n $database
  fi
    echo -n " "
done
    pg_dump $database > $database.sql
echo
  fi
done
echo

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