diff options
Diffstat (limited to 'handlers/mysql.helper')
-rw-r--r-- | handlers/mysql.helper | 212 |
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 -} |