X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=handlers%2Fpgsql;h=0c72c82ec04294ee6a0f610a1e196aa9f9be2c0a;hb=a8c5734f5471c1578828662d1046e41aaf31cf99;hp=c7197a821fb8b2280d9dad95db57b852b6462917;hpb=1f21ab1f9d87fdf363552764fc538ceb34c4105e;p=matthijs%2Fupstream%2Fbackupninja.git diff --git a/handlers/pgsql b/handlers/pgsql index c7197a8..0c72c82 100644 --- a/handlers/pgsql +++ b/handlers/pgsql @@ -61,7 +61,11 @@ fi # give backup dir the good uid and permissions # (in respect to the vserver, if $usevserver = yes) -pguid=`getent passwd postgres | awk -F: '{print $3}'` +if [ $usevserver = yes ]; then + pguid=`$VSERVER $vsname exec getent passwd postgres | awk -F: '{print $3}'` +else + pguid=`getent passwd postgres | awk -F: '{print $3}'` +fi [ -n "$pguid" ] || \ fatal "No user called postgres`[ $usevserver = no ] || echo \" on vserver $vsname\"`." debug "chown $pguid $vroot$backupdir" @@ -72,13 +76,13 @@ chmod 700 $vroot$backupdir # if $databases = all, use pg_dumpall if [ "$databases" == "all" ]; then if [ $usevserver = yes ]; then - execstr="$VSERVER $vsname exec su - postgres -c $PGSQLDUMPALL > $backupdir/${vsname}.sql" + execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\"" else - execstr="su - postgres -c $PGSQLDUMPALL > $backupdir/${localhost}-all.sql" + execstr="su - postgres -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\"" fi debug "$execstr" if [ ! $test ]; then - output=`$execstr 2>&1` + output=`eval $execstr 2>&1` code=$? if [ "$code" == "0" ]; then debug $output @@ -94,13 +98,13 @@ else for db in $databases; do if [ $usevserver = yes ] then - execstr="$VSERVER $vsname exec su - postgres -c $PGSQLDUMP $db > $backupdir/${db}.sql" + execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\"" else - execstr="su - postgres -c $PGSQLDUMP $db > $backupdir/${db}.sql" + execstr="su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\"" fi debug "$execstr" if [ ! $test ]; then - output=`$execstr 2>&1` + output=`eval $execstr 2>&1` code=$? if [ "$code" == "0" ]; then debug $output