diff options
author | Elijah Saxon <elijah@riseup.net> | 2005-07-04 06:39:00 +0000 |
---|---|---|
committer | Elijah Saxon <elijah@riseup.net> | 2005-07-04 06:39:00 +0000 |
commit | 4c8e2839949be4603fbb8fb9e7a7e536e59c1dc4 (patch) | |
tree | 97f709c75eb39f15a7c29dfcfe11cb0ac0a15853 /handlers/mysql.helper | |
parent | 2046272df5e3efeb8c6174b77c807ed40a2e3bd1 (diff) | |
download | backupninja-4c8e2839949be4603fbb8fb9e7a7e536e59c1dc4.tar.gz backupninja-4c8e2839949be4603fbb8fb9e7a7e536e59c1dc4.tar.bz2 |
created ninjahelper
Diffstat (limited to 'handlers/mysql.helper')
-rw-r--r-- | handlers/mysql.helper | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/handlers/mysql.helper b/handlers/mysql.helper new file mode 100644 index 0000000..765f228 --- /dev/null +++ b/handlers/mysql.helper @@ -0,0 +1,109 @@ + +do_mysql_user() { + inputBox "mysql action wizard" "specify a system user:" + do_mysql_final "user = $REPLY" +} + +do_mysql_password() { + inputBox "mysql action wizard" "specify a mysql user:" + user=$REPLY + inputBox "mysql action wizard" "specify the mysql user's password:" + 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 action wizard" "what system user does mysql backup use?" + do_mysql_final "user = $REPLY" +} + +do_mysql_final() { + if [ -z "$_DISABLE_HOTCOPY" ]; then + checkBox "mysql action wizard" "check options" \ + "sqldump" "create a backup using mysqldump (more compat)." off \ + "hotcopy" "create a backup using mysqlhotcopy (faster)." on \ + "compress" "compress the sql output files" on + status=$? + sqldump="sqldump = off" + hotcopy="hotcopy = off" + else + checkBox "mysql action wizard" "check options" \ + "compress" "compress the sql output files" on + status=$? + sqldump="sqldump = on" + hotcopy="hotcopy = off" + fi + + [ $status = 1 ] && return; + result="$REPLY" + compress="compress = off" + for opt in $result; do + case $opt in + '"sqldump"') sqldump="sqldump = on";; + '"hotcopy"') hotcopy="hotcopy = on";; + '"compress"') compress="compress = on";; + esac + done + get_next_filename $configdirectory/20.mysql + echo -e $@ > $next_filename + cat >> $next_filename <<EOF +$sqldump +$hotcopy +$compress +# databases = all +# backupdir = /var/backups/mysql +# dbhost = localhost +EOF + chmod 000 $next_filename +} + +mysql_wizard() { + while true; do + _DISABLE_HOTCOPY= + menuBoxHelpFile "mysql action wizard" "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 +} + |