aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--examples/example.pgsql5
-rw-r--r--handlers/pgsql20
-rw-r--r--handlers/pgsql.helper5
-rwxr-xr-xsrc/backupninja.in1
5 files changed, 23 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index a513d5a..58414ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@ version 0.9.5 -- unreleased
sys:
. Fixed typo breaking things for VServers.
. Fix bug when vrootdir is on its own partition (Closes: #395928)
+ pgsql:
+ . Support configuring PGSQLUSER for real, and document it a bit
+ (Closes: #396578)
fixed automake 'make install' bug that failed if /etc/backup.d already
existed
diff --git a/examples/example.pgsql b/examples/example.pgsql
index d9aab42..42f045e 100644
--- a/examples/example.pgsql
+++ b/examples/example.pgsql
@@ -17,4 +17,7 @@
# compress = < yes | no > (default = yes)
# if yes, compress the pg_dump/pg_dumpall output.
-
+### You can also set the following variables in /etc/backupninja.conf:
+# PGSQLDUMP: pg_dump path (default: /usr/bin/pg_dump)
+# PGSQLDUMPALL: pg_dumpall path (default: /usr/bin/pg_dumpall)
+# PGSQLUSER: user running PostgreSQL (default: postgres)
diff --git a/handlers/pgsql b/handlers/pgsql
index 1b91624..fb8fa4f 100644
--- a/handlers/pgsql
+++ b/handlers/pgsql
@@ -64,10 +64,10 @@ fi
if [ $usevserver = yes ]; then
pguid=`$VSERVER $vsname exec getent passwd $PGSQLUSER | awk -F: '{print $3}'`
else
- pguid=`getent passwd postgres | awk -F: '{print $3}'`
+ pguid=`getent passwd $PGSQLUSER | awk -F: '{print $3}'`
fi
[ -n "$pguid" ] || \
- fatal "No user called postgres`[ $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"
@@ -77,15 +77,15 @@ chmod 700 $vroot$backupdir
if [ "$databases" == "all" ]; then
if [ $usevserver = yes ]; then
if [ "$compress" == "yes" ]; then
- execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${vsname}.sql.gz\""
+ execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${vsname}.sql.gz\""
else
- execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\""
+ execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\""
fi
else
if [ "$compress" == "yes" ]; then
- execstr="su - postgres -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${localhost}-all.sql.gz\""
+ execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL | $GZIP > $backupdir/${localhost}-all.sql.gz\""
else
- execstr="su - postgres -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\""
+ execstr="su - $PGSQLUSER -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\""
fi
fi
debug "$execstr"
@@ -106,15 +106,15 @@ else
for db in $databases; do
if [ $usevserver = yes ]; then
if [ "$compress" == "yes" ]; then
- execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
+ execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
else
- execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db | > $backupdir/${db}.sql\""
+ execstr="$VSERVER $vsname exec su - $PGSQLUSER -c \"$PGSQLDUMP $db | > $backupdir/${db}.sql\""
fi
else
if [ "$compress" == "yes" ]; then
- execstr="su - postgres -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
+ execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db | $GZIP > $backupdir/${db}.sql.gz\""
else
- execstr="su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
+ execstr="su - $PGSQLUSER -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
fi
fi
debug "$execstr"
diff --git a/handlers/pgsql.helper b/handlers/pgsql.helper
index 2b05339..8024616 100644
--- a/handlers/pgsql.helper
+++ b/handlers/pgsql.helper
@@ -96,6 +96,11 @@ $pgsql_databases
# if yes, compress the pg_dump/pg_dumpall output.
$pgsql_compress
+### You can also set the following variables in backupninja.conf:
+# PGSQLDUMP: pg_dump path (default: /usr/bin/pg_dump)
+# PGSQLDUMPALL: pg_dumpall path (default: /usr/bin/pg_dumpall)
+# PGSQLUSER: user running PostgreSQL (default: postgres)
+
EOF
chmod 600 $next_filename
diff --git a/src/backupninja.in b/src/backupninja.in
index 920d89e..8d1257f 100755
--- a/src/backupninja.in
+++ b/src/backupninja.in
@@ -450,6 +450,7 @@ getconf MYSQLHOTCOPY /usr/bin/mysqlhotcopy
getconf MYSQLDUMP /usr/bin/mysqldump
getconf PGSQLDUMP /usr/bin/pg_dump
getconf PGSQLDUMPALL /usr/bin/pg_dumpall
+getconf PGSQLUSER postgres
getconf GZIP /bin/gzip
getconf RSYNC /usr/bin/rsync
getconf admingroup root