1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
#!/bin/bash
#
# This file is part of vbackup.
#
# vbackup is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# vbackup is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with vbackup If not, see <http://www.gnu.org/licenses/>.
#
# $Id$
#
NAME="mysql"
PRI="30"
# The w_do_ask function. Adjust as needed
# $1: The question to ask. First question is always "ENABLE". ASK_NEXT sets
# the next question
#
# Set ASK_NEXT to the next question or "" for finish
# When ASK_NEXT=="", also return 0/1 to indicate that the script is enabled
# (0: enabled, 1: disabled)
w_do_ask()
{
local R DEF
R=1
case "$1" in
ENABLE)
if ! test -d /etc/mysql ; then
DEF='n'
else
DEF='y'
fi
if h_ask_yesno \
"You can backup your MySQL database (if you have one). This will backup all
databases." \
"Perform MySQL backup?" \
$DEF ; then
if [ -e "/etc/mysql/debian.cnf" ] ; then
ASK_NEXT="debian"
else
ASK_NEXT="password"
fi
else
ASK_NEXT=""
R=1
fi
;;
debian)
if h_ask_yesno \
"The file /etc/mysql/debian.cnf exists. This is used in Debian systems
for database maintenance procedures. You can use the credentials that
are listed in that file. This is recommended." \
"Use /etc/mysql/debian.cnf?" \
"y" ; then
echo "MYUSER=\"debian-sys-maint\"" >> $CFG
echo "MYCNF=\"/etc/mysql/debian.cnf\"" >> $CFG
ASK_NEXT=""
R=0
else
ASK_NEXT="password"
fi
;;
password)
h_ask_str \
"You must enter the password of the root user. You should know that this is
insecure in case of a multiuser system. It is advised to create a .my.cnf
file and enter the password in there. Leave this field empty if you're going
to do this." \
"Enter the password for the root user" \
""
echo "MYUSER=\"root\"" >> $CFG
echo "PASSWORD=\"$RET\"" >> $CFG
ASK_NEXT=""
R=0
;;
esac
return $R
}
# The w_get_config function.
# $1: Backup level
#
# Display configuration file in stdout
w_get_config()
{
cat $CFG
cat << _KOKO
DATABASES="-"
DESTDIR="mysql/"
_KOKO
}
# vim: set ts=8 sts=4 sw=4 noet formatoptions=r ai nocindent:
|