X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=blobdiff_plain;f=handlers%2Fpgsql.in;h=ff5f7ba1352527be8481732344b78f23df6d2789;hp=1b4a45215aad73a559cc2b2c02cc11c103c91bf7;hb=78884142e7cdaaf3e1f5571b1f28d2ea5a520b30;hpb=1330b16c992fbede7ca09ecc87eb6c01af1bc19f diff --git a/handlers/pgsql.in b/handlers/pgsql.in index 1b4a452..ff5f7ba 100644 --- a/handlers/pgsql.in +++ b/handlers/pgsql.in @@ -1,4 +1,5 @@ # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*- +# vim: set filetype=sh sw=3 sts=3 expandtab autoindent: # # PostgreSQL handler script for backupninja # @@ -21,10 +22,7 @@ if [ $vservers_are_available = yes ]; then fatal "The vserver given in vsname ($vsname) does not exist." fi # is it running ? - $VSERVERINFO -q $vsname RUNNING - if [ $? -ne 0 ]; then - fatal "The vserver $vsname is not running." - fi + vservers_running $vsname || fatal "The vserver $vsname is not running." # everything ok info "Using vserver '$vsname'." usevserver=yes @@ -39,18 +37,18 @@ if [ $usevserver = yes ]; then debug "Examining vserver '$vsname'." if [ "$databases" == "all" ]; then [ -x "$vroot`$VSERVER $vsname exec which $PGSQLDUMPALL`" ] || \ - fatal "Can't find $PGSQLDUMPALL in vserver $vsname." + fatal "Can't find $PGSQLDUMPALL in vserver $vsname." else [ -x "$vroot`$VSERVER $vsname exec which $PGSQLDUMP`" ] || \ - fatal "Can't find $PGSQLDUMP in vserver $vsname." + fatal "Can't find $PGSQLDUMP in vserver $vsname." fi else if [ "$databases" == "all" ]; then [ -x "`which $PGSQLDUMPALL`" ] || \ - fatal "Can't find $PGSQLDUMPALL." + fatal "Can't find $PGSQLDUMPALL." else [ -x "`which $PGSQLDUMP`" ] || \ - fatal "Can't find $PGSQLDUMP." + fatal "Can't find $PGSQLDUMP." fi fi @@ -67,7 +65,7 @@ else pguid=`getent passwd $PGSQLUSER | @AWK@ -F: '{print $3}'` fi [ -n "$pguid" ] || \ - fatal "No user called $PGSQLUSER`[ $usevserver = no ] || echo \" on vserver $vsname\"`." + fatal "No user called $PGSQLUSER`[ $usevserver = no ] || echo \" on vserver $vsname\"`." debug "chown $pguid $vroot$backupdir" chown $pguid $vroot$backupdir debug "chmod 700 $vroot$backupdir" @@ -75,61 +73,61 @@ chmod 700 $vroot$backupdir # if $databases = all, use pg_dumpall if [ "$databases" == "all" ]; then - if [ $usevserver = yes ]; then - if [ "$compress" == "yes" ]; then - execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${vsname}.sql.gz\"" - else - execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\"" - fi - else - if [ "$compress" == "yes" ]; then - execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${localhost}-all.sql.gz\"" - else - execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\"" - fi - fi - debug "$execstr" - if [ ! $test ]; then - output=`eval $execstr 2>&1` - code=$? - if [ "$code" == "0" ]; then - debug $output - info "Successfully finished dump of pgsql cluster" - else - warning $output - warning "Failed to dump pgsql cluster" - fi - fi - + if [ $usevserver = yes ]; then + if [ "$compress" == "yes" ]; then + execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${vsname}.sql.gz\"" + else + execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\"" + fi + else + if [ "$compress" == "yes" ]; then + execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${localhost}-all.sql.gz\"" + else + execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\"" + fi + fi + debug "$execstr" + if [ ! $test ]; then + output=`eval $execstr 2>&1` + code=$? + if [ "$code" == "0" ]; then + debug $output + info "Successfully finished dump of pgsql cluster" + else + warning $output + warning "Failed to dump pgsql cluster" + fi + fi + # else use pg_dump on each specified database else - for db in $databases; do - if [ $usevserver = yes ]; then - if [ "$compress" == "yes" ]; then - execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\"" - else - execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | > $backupdir/${db}.sql\"" - fi - else - if [ "$compress" == "yes" ]; then - execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\"" - else - execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\"" - fi - fi - debug "$execstr" - if [ ! $test ]; then - output=`eval $execstr 2>&1` - code=$? - if [ "$code" == "0" ]; then - debug $output - info "Successfully finished dump of pgsql database ${db}" - else - warning $output - warning "Failed to dump pgsql database ${db}" - fi - fi - done + for db in $databases; do + if [ $usevserver = yes ]; then + if [ "$compress" == "yes" ]; then + execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\"" + else + execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | > $backupdir/${db}.sql\"" + fi + else + if [ "$compress" == "yes" ]; then + execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\"" + else + execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\"" + fi + fi + debug "$execstr" + if [ ! $test ]; then + output=`eval $execstr 2>&1` + code=$? + if [ "$code" == "0" ]; then + debug $output + info "Successfully finished dump of pgsql database ${db}" + else + warning $output + warning "Failed to dump pgsql database ${db}" + fi + fi + done fi return 0