소스 검색

Updated monitor for ts3server

Daniel Gibbs 11 년 전
부모
커밋
6e3ba0e758
1개의 변경된 파일37개의 추가작업 그리고 30개의 파일을 삭제
  1. 37 30
      functions/fn_monitor

+ 37 - 30
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(){