do mysql connection check for all scripts, found out hard way vmail-purge-dirs.sh wipes out all email data if it can not connect to mysql
This commit is contained in:
parent
fff2b4728f
commit
3083dc6e29
37
bin/vmail.sh
37
bin/vmail.sh
@ -30,29 +30,24 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Only Debian-exim commands do not require MySQL running, (almost) all others do:
|
# check that MYSQL_CONNECTION_INFO_FILE exists and is readable
|
||||||
if [[ "$USER" != "Debian-exim" ]]; then
|
if [ ! -f "$MYSQL_CONNECTION_INFO_FILE" ]; then
|
||||||
|
echo "ERROR: MySQL connection info file ($MYSQL_CONNECTION_INFO_FILE) does not exist or is not readable."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# check that MYSQL_CONNECTION_INFO_FILE exists and is readable
|
# check that MySQL is running
|
||||||
if [ ! -f "$MYSQL_CONNECTION_INFO_FILE" ]; then
|
if ! systemctl --quiet is-active mariadb.service
|
||||||
echo "ERROR: MySQL connection info file ($MYSQL_CONNECTION_INFO_FILE) does not exist or is not readable."
|
then
|
||||||
exit 1
|
echo "MySQL (MariaDB) is not running."
|
||||||
fi
|
exit 1
|
||||||
|
fi
|
||||||
# check that MySQL is running
|
|
||||||
if ! systemctl --quiet is-active mariadb.service
|
|
||||||
then
|
|
||||||
echo "MySQL (MariaDB) is not running."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# check vmail MySQL connection/authentication
|
|
||||||
if ! mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -e '\q'
|
|
||||||
then
|
|
||||||
echo "MySQL connection failed. Check auth info in $MYSQL_CONNECTION_INFO_FILE"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# check vmail MySQL connection/authentication
|
||||||
|
if ! mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -e '\q'
|
||||||
|
then
|
||||||
|
echo "MySQL connection failed. Check auth info in $MYSQL_CONNECTION_INFO_FILE"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# functions
|
# functions
|
||||||
|
Loading…
x
Reference in New Issue
Block a user