projects
/
matthijs
/
upstream
/
backupninja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Forgot to update Changelog for previous rev: rdiff now works if testconnect=no and...
[matthijs/upstream/backupninja.git]
/
handlers
/
pgsql
diff --git
a/handlers/pgsql
b/handlers/pgsql
index c7197a821fb8b2280d9dad95db57b852b6462917..0c72c82ec04294ee6a0f610a1e196aa9f9be2c0a 100644
(file)
--- 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)
# 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"
[ -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
# 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
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
fi
debug "$execstr"
if [ ! $test ]; then
- output=`$execstr 2>&1`
+ output=`
eval
$execstr 2>&1`
code=$?
if [ "$code" == "0" ]; then
debug $output
code=$?
if [ "$code" == "0" ]; then
debug $output
@@
-94,13
+98,13
@@
else
for db in $databases; do
if [ $usevserver = yes ]
then
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
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
fi
debug "$execstr"
if [ ! $test ]; then
- output=`$execstr 2>&1`
+ output=`
eval
$execstr 2>&1`
code=$?
if [ "$code" == "0" ]; then
debug $output
code=$?
if [ "$code" == "0" ]; then
debug $output