+# -*- 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
}
# 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"
pgsql_databases="databases = all"
else
do_pgsql_databases
+ [ $? = 0 ] || return 1
fi
# compress
# 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 <<EOF
# backupdir = <dir> (default: /var/backups/postgres)
# where to dump the backups
$pgsql_backupdir
$pgsql_compress
EOF
- chmod 000 $next_filename
+ chmod 600 $next_filename
}