3 MYSQL
='mysql -u admin --default-character-set=utf8 '
8 if [ "$UID" != 0 ] && [ "$1" != "-u" ] ; then
9 echo "has to be run as root"
13 if [[ -n
"${DBPREFIX}" ]]; then
14 echo "Using non-default database ${DBPREFIX}x4dat."
16 if [[ -z
"${DATABASE}" ]]; then
17 DATABASE
="${DBPREFIX}x4dat"
26 if [[ -n
"${NO_CONFIRM}" ]]; then
28 echo "* press ^C to cancel, waiting 5 seconds..."
32 echo "* press ^D to start import (^C to cancel)"
37 function mysql_pipe
() {
38 sed -e
"s/#\([0-9a-z]*\)#/${DBPREFIX}\1/g" |
$MYSQL $DATABASE
41 function mysql_exec
() {
42 echo -n
" * executing $1 "
43 if [[ -z
"${DRY_RUN}" ]]; then
44 (echo "$1" | mysql_pipe
) || die
"ERROR"
49 function mysql_pipe_nodb
() {
50 sed -e
"s/#\([0-9a-z]*\)#/${DBPREFIX}\1/g" |
$MYSQL
53 function mysql_exec_nodb
() {
54 echo -n
" * executing $1 "
55 if [[ -z
"${DRY_RUN}" ]]; then
56 (echo "$1" | mysql_pipe_nodb
) || die
"ERROR"
61 function mysql_run
() {
62 echo -n
" * running $1 "
63 if [[ -z
"${DRY_RUN}" ]]; then
64 (cat "$1" | mysql_pipe
) || die
"ERROR"
69 function create_db
() {
70 echo "* create database "
71 mysql_exec_nodb
"CREATE DATABASE IF NOT EXISTS $DATABASE;"
72 mysql_exec_nodb
"GRANT ALTER, CREATE, CREATE TEMPORARY TABLES, DELETE, DROP, EXECUTE, INDEX, INSERT, LOCK TABLES, SELECT, UPDATE ON $DATABASE.* TO 'web'@'localhost';"
73 mysql_exec_nodb
"FLUSH PRIVILEGES;"
78 if [[ -n
"$SOURCE_DATABASE" ]]; then
79 confirm
"* copying database from $SOURCE_DATABASE to $DATABASE"
81 echo -n
"* build database from dump "
82 ( mysqldump
--add-drop-table
-Q
$SOURCE_DATABASE |
$MYSQL $DATABASE ) \
88 function mysql_run_directory
() {
89 for sql
in $1/*.sql
; do
94 function script_run
() {
95 echo -n
" * running $1 "
96 if [[ -z
"${DRY_RUN}" ]]; then
102 function mailman_stop
() {
103 echo -n
" * stops mailman"
104 if [[ -z
"${DRY_RUN}" ]]; then
105 /etc
/init.d
/mailman stop
&>/dev
/null
110 function mailman_templates
() {
111 echo -n
" * copies new mails templates"
112 if [[ -z
"${DRY_RUN}" ]]; then
113 mkdir
-p
/etc
/mailman
/xorg
114 cp -f ..
/..
/modules
/lists
/mail_templates
/*.txt
/etc
/mailman
/xorg
119 function mailman_start
() {
120 echo -n
" * starts mailman"
121 if [[ -z
"${DRY_RUN}" ]]; then
122 /etc
/init.d
/mailman start
&>/dev
/null