diff --git a/functions/fn_monitor b/functions/fn_monitor index b0305ca2b..54f2cafc7 100644 --- a/functions/fn_monitor +++ b/functions/fn_monitor @@ -2,7 +2,7 @@ # LGSM fn_monitor function # Author: Daniel Gibbs # Website: http://danielgibbs.co.uk -# Version: 080214 +# Version: 080215 # Description: Monitors server by checking for running proccesses # then passes to fn_monitor_query. @@ -10,40 +10,47 @@ local modulename="Monitor" fn_monitor_teamspeak3(){ -fn_rootcheck -fn_syscheck -fn_logmanager -fn_printfail "Monitor is checking ${servicename}: ${servername}" -fn_scriptlog "Monitor is checking ${servername}" -sleep 0.5 -fn_runcheck -fn_printwarn "Monitor detected ${servername} had stopped!\n" -fn_scriptlog "Monitor detected ${servername} had stopped!" +fn_check_root +fn_check_systemdir +fn_logs +fn_printdots "${servername}" +fn_scriptlog "${servername}" sleep 1 -fn_status -if [ "${ts3status}" = "Server seems to have died" ]; then - fn_printinfo "${servername} Server seems to have died" - fn_scriptlog "${servername} Server seems to have died" - failurereason="Server seems to have died" -elif [ "${ts3status}" = "No server running (ts3server.pid is missing)" ]; then - fn_printinfo "${servername} No server running (ts3server.pid is missing)" - fn_scriptlog "${servername} No server running (ts3server.pid is missing)" - failurereason="No server running (ts3server.pid is missing)" -else - fn_printinfo "${servername} Unknown error" - fn_scriptlog "${servername} Unknown error" - failurereason="Unknown error" +if [ ! -f "${lockselfname}" ]; then + fn_printinfo "Disabled: No lock file found" + fn_scriptlog "Disabled: No lock file found" + sleep 1 + echo -en "\n" + echo "To enable monitor run ./${selfname} start" + exit fi -sleep 0.5 -echo -en "\n" -if [ "${emailnotification}" = "on" ]; then - subject="${servicename} Monitor - Restarting ${servername}" - actiontaken="restarted ${servername}" - fn_emailnotification +fn_printdots "Checking session: CHECKING" +fn_scriptlog "Checking session: CHECKING" +sleep 1 +fn_check_ts3status +if [ "${ts3status}" = "Server is running" ]; then + fn_printok "Checking session: OK" + fn_scriptlog "Checking session: OK" + sleep 1 + sleep 0.5 + echo -en "\n" + exit +else + fn_printfail "Checking session: FAIL" + fn_scriptlog "Checking session: FAIL" + sleep 1 + fn_printfail "Checking session: FAIL: ${ts3status}" + fn_scriptlog "Checking session: FAIL: ${ts3status}" + failurereason="${ts3status}" + if [ "${emailnotification}" = "on" ]; then + subject="${servicename} Monitor - Restarting ${servername}" + actiontaken="restarted ${servername}" + fn_emailnotification + fi fi sleep 0.5 echo -en "\n" -fn_restartserver +fn_restart } fn_monitor_tmux(){