X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=blobdiff_plain;f=handlers%2Fpgsql.helper;h=80246167dcfc174b37bbc6088ddf7923a95a5250;hp=8baa39f7ee01a6ab5cf4f278f7d478b73b48b4eb;hb=be75e4e6c536882c14db9a41c61585e7a9c045f6;hpb=e005e25e1af5fc951d4cbcffab73f0637bca2058 diff --git a/handlers/pgsql.helper b/handlers/pgsql.helper index 8baa39f..8024616 100644 --- a/handlers/pgsql.helper +++ b/handlers/pgsql.helper @@ -1,29 +1,33 @@ +# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*- + HELPERS="$HELPERS pgsql:postgresql_database_backup" do_pgsql_vserver() { - inputBox "$pgsql_title" "Specify a vserver name:" - [ $? = 1 ] && return; + choose_one_vserver "$pgsql_title" + [ $? = 0 ] || return 1 pgsql_vsname="vsname = $REPLY" } do_pgsql_databases() { - formBegin "$pgsql_title: databases" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formItem "Database:" - formDisplay - [ $? = 1 ] && return - - pgsql_databases="databases = " - for i in $REPLY; do - [ "$i" != "" ] && pgsql_databases="$pgsql_databases $i" + REPLY= + while [ -z "$REPLY" ]; do + formBegin "$pgsql_title: databases" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formItem "Database:" + formDisplay + [ $? = 0 ] || return 1 + pgsql_databases="databases = " + for i in $REPLY; do + [ -n "$i" ] && pgsql_databases="$pgsql_databases $i" + done done } @@ -32,9 +36,13 @@ pgsql_wizard() { # constants pgsql_title="PostgreSQL action wizard" - # vserver support - booleanBox "$pgsql_title" "Do you want to operate on a vserver? If not, the host will be operated on." - [ $? = 0 ] && do_pgsql_vserver + # backup the host system or a Vserver? + choose_host_or_one_vserver "$pgsql_title" + [ $? = 0 ] || return 1 + if [ $host_or_vservers == vservers ]; then + do_pgsql_vserver + [ $? = 0 ] || return 1 + fi # backupdir inputBox "$pgsql_title" "Directory where to store the backups:`[ -z \"$pgsql_vsname\" ] || echo \"\n(In respect to chosen vserver's root directory)\"`" "/var/backups/postgres" @@ -47,6 +55,7 @@ pgsql_wizard() { pgsql_databases="databases = all" else do_pgsql_databases + [ $? = 0 ] || return 1 fi # compress @@ -66,8 +75,12 @@ pgsql_wizard() { # what vserver to operate on, only used if vserver = yes in /etc/backupninja.conf # if you do not specify a vsname the host will be operated on # Note: if operating on a vserver, $VROOTDIR will be prepended to backupdir. -$pgsql_vsname +EOF + if [ $host_or_vservers == vservers ]; then + echo -e "$pgsql_vsname\n" >> $next_filename + fi + cat >> $next_filename < (default: /var/backups/postgres) # where to dump the backups $pgsql_backupdir @@ -83,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