aboutsummaryrefslogtreecommitdiff
path: root/handlers/mysql.helper
diff options
context:
space:
mode:
Diffstat (limited to 'handlers/mysql.helper')
-rw-r--r--handlers/mysql.helper212
1 files changed, 0 insertions, 212 deletions
diff --git a/handlers/mysql.helper b/handlers/mysql.helper
deleted file mode 100644
index 9622d41..0000000
--- a/handlers/mysql.helper
+++ /dev/null
@@ -1,212 +0,0 @@
-# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
-
-HELPERS="$HELPERS mysql:mysql_database_backup"
-
-do_mysql_vserver() {
- choose_one_vserver "$mysql_title"
- [ $? = 0 ] || return 1
- mysql_vsname="vsname = $REPLY"
-}
-
-do_mysql_databases() {
- REPLY=
- while [ -z "$REPLY" ]; do
- formBegin "$mysql_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
- mysql_databases="databases = "
- for i in $REPLY; do
- [ -n "$i" ] && mysql_databases="$mysql_databases $i"
- done
- done
-}
-
-do_mysql_password() {
- inputBox "$mysql_title" "specify a mysql user:"
- [ $? = 1 ] && return
- user=$REPLY
- inputBox "$mysql_title" "specify the mysql user's password:"
- [ $? = 1 ] && return
- password=$REPLY
- do_mysql_final "dbusername = $user\ndbpassword = $password"
-}
-
-do_mysql_debian() {
- _DISABLE_HOTCOPY=yes
- do_mysql_final "configfile = /etc/mysql/debian.cnf"
-}
-
-do_mysql_user() {
- inputBox "$mysql_title" "what system user does mysql backup use?"
- [ $? = 1 ] && return
- do_mysql_final "user = $REPLY"
-}
-
-do_mysql_final() {
- if [ -z "$_DISABLE_HOTCOPY" ]; then
- checkBox "$mysql_title" "check options" \
- "sqldump" "create a backup using mysqldump (more compat)." no \
- "hotcopy" "create a backup using mysqlhotcopy (faster)." yes \
- "compress" "compress the sql output files" yes
- status=$?
- sqldump="sqldump = no"
- hotcopy="hotcopy = no"
- else
- checkBox "$mysql_title" "check options" \
- "compress" "compress the sql output files" yes
- status=$?
- sqldump="sqldump = yes"
- hotcopy="hotcopy = no"
- fi
-
- [ $status = 1 ] && return;
- result="$REPLY"
- compress="compress = no"
- for opt in $result; do
- case $opt in
- '"sqldump"') sqldump="sqldump = yes";;
- '"hotcopy"') hotcopy="hotcopy = yes";;
- '"compress"') compress="compress = yes";;
- esac
- done
- get_next_filename $configdirectory/20.mysql
-
- cat >> $next_filename <<EOF
-### backupninja MySQL config file ###
-
-# hotcopy = < yes | no > (default = no)
-# make a backup of the actual database binary files using mysqlhotcopy.
-$hotcopy
-
-# sqldump = < yes | no > (default = no)
-# make a backup using mysqldump. this creates text files with sql commands
-# sufficient to recontruct the database.
-#
-$sqldump
-
-# compress = < yes | no > (default = yes)
-# if yes, compress the sqldump output.
-$compress
-
-# dbhost = <host> (default = localhost)
-
-EOF
- cat >> $next_filename <<EOF
-
-# backupdir = <dir> (default: /var/backups/mysql)
-# where to dump the backups. hotcopy backups will be in a subdirectory
-# 'hotcopy' and sqldump backups will be in a subdirectory 'sqldump'
-$mysql_backupdir
-
-# databases = <all | db1 db2 db3 > (default = all)
-# which databases to backup. should either be the word 'all' or a
-# space separated list of database names.
-$mysql_databases
-
-EOF
-
-if [ $host_or_vservers == vservers ]
- then
- cat >> $next_filename <<EOF
-#
-# vsname = <vserver> (no default)
-# vsname indicates which vserver to operate on, this is only used if
-# vserver is set to yes in /etc/backupninja.conf
-# NOTE: if you do not specify a vsname the host will be operated on
-# alsoNOTE: if operating on a vserver, $VROOTDIR will be
-# prepended to backupdir.
-EOF
- echo -e "$mysql_vsname\n" >> $next_filename
-fi
-
- echo -e $@ >> $next_filename
-
- chmod 600 $next_filename
-}
-
-mysql_wizard() {
-
- # Global variables
- mysql_title="MySQL action wizard"
-
- # backup the host system or a Vserver?
- choose_host_or_one_vserver "$mysql_title"
- [ $? = 0 ] || return 1
- if [ $host_or_vservers == vservers ]
- then
- do_mysql_vserver
- [ $? = 0 ] || return 1
- fi
-
- # backupdir
- if [ $host_or_vservers == vservers ]
- then
- inputBox "$mysql_title" "Directory where to store the backups:`echo \"\n(Relative to chosen vserver's root directory)\"`" "/var/backups/mysql"
- else
- inputBox "$mysql_title" "Directory where to store the backups" "/var/backups/mysql"
- fi
- [ $? = 1 ] && return
- mysql_backupdir="backupdir = $REPLY"
-
- # databases
- booleanBox "$mysql_title" "Do you want to backup all of the databases? `echo \"\n\nIf not, you'll be offered to choose individual databases to backup.\"`"
- if [ $? = 0 ]; then
- mysql_databases="databases = all"
- else
- do_mysql_databases
- [ $? = 0 ] || return 1
- fi
-
- while true; do
- _DISABLE_HOTCOPY=
- menuBoxHelpFile "$mysql_title" "choose a mysql authentication method:" \
- user "change to a linux user first." \
- password "manually specify mysql user and password." \
- debian "use default mysql user debian-sys-maint."
- status=$?
- if [ $status = 2 ]; then
- # show help.
- helptmp="/tmp/backupninja.help.$$"
- cat > $helptmp <<EOF
-To connect to mysql, backupninja must authenticate.
-There are three possible authentication methods:
-
-USER
-With this method, you specify a system user. Backupninja will
-then become this user before running mysqldump or mysqlhotcopy.
-The result is that ~/.my.cnf is used for authentication.
-
-PASSWORD
-With this method, you manually specify a mysql user and
-password in the backup action configuration.
-
-DEBIAN
-With this method, we use the debian-sys-maint user which is
-already defined in /etc/mysql/debian.cnf. If you are running
-debian, this is recommended, because no further configuration
-is needed. The drawback is that this is incompatible with
-mysqlhotcopy: you must use mysqldump.
-EOF
- dialog --textbox $helptmp 0 0
- rm $helptmp
- fi
-
- [ $status = 1 ] && return;
- result="$REPLY"
- case "$result" in
- "user") do_mysql_user;return;;
- "password") do_mysql_password;return;;
- "debian") do_mysql_debian;return;;
- esac
- done
-}