X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=handlers%2Fpgsql.helper;h=599c232a966bf1e30de247563c3da6e00411a6f2;hb=0d606253af6ecb8ede07b0991a1f295fb70e7e65;hp=8f9a8d4e0a6a50270627ef5de2e44651e29a695a;hpb=ddaceb7ddae3d4e24657d7ce1d750cfa3e4f05b3;p=matthijs%2Fupstream%2Fbackupninja.git diff --git a/handlers/pgsql.helper b/handlers/pgsql.helper index 8f9a8d4..599c232 100644 --- a/handlers/pgsql.helper +++ b/handlers/pgsql.helper @@ -1,29 +1,32 @@ +# -*- 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 +35,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 +54,7 @@ pgsql_wizard() { pgsql_databases="databases = all" else do_pgsql_databases + [ $? = 0 ] || return 1 fi # compress @@ -66,8 +74,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 @@ -84,6 +96,6 @@ $pgsql_databases $pgsql_compress EOF - chmod 000 $next_filename + chmod 600 $next_filename }