diff --git a/bin/vmail.sh b/bin/vmail.sh index abcad67..1ce089b 100755 --- a/bin/vmail.sh +++ b/bin/vmail.sh @@ -30,24 +30,29 @@ else fi fi -# check that MYSQL_CONNECTION_INFO_FILE exists and is readable -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 +# Only Debian-exim commands do not require MySQL running, (almost) all others do: +if [[ "$USER" != "Debian-exim" ]]; then -# check that MySQL is running -if ! systemctl --quiet is-active mariadb.service -then - echo "MySQL (MariaDB) is not running." - exit 1 -fi + # check that MYSQL_CONNECTION_INFO_FILE exists and is readable + 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 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 # functions