#!/bin/bash # ____ ____ ____________ # / __ \/ __ \/_ __/ ____/ # / /_/ / /_/ / / / / / __ # / ____/ _, _/ / / / /_/ / #/_/ /_/ |_| /_/ \____/ # NETWORK MONITOR #------------------- #(c) 2016 Dariusz Gorka, Paessler AG # #This script checks if a certain service is running. #The script also tries to restart the service if it is not started. # #Enter the correct process name. (ps -e) service=$1 #Enter the server address of your PRTG, including HTTPS/HTTP and the sensor port. prtghost=$2 #Enter the Identification Token of the HTTP Push Data Advanced sensor. identtoken=$3 #Check if process is running if (( $(pgrep -x $service | wc -l) > 0 )) then #Send response to PRTG that the service is running. wget -O/dev/null "$prtghost/$identtoken?content=$service status1Service: $service is running!" else #Send response to PRTG that the service is not started. wget -O/dev/null "$prtghost/$identtoken?content=$service status0Service: $service is down, but will restart!" #Try to restart the service /etc/init.d/$service start #Check if restart was successfully if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 )) then #Send response to PRTG that the restart was successfully wget -O/dev/null "$prtghost/$identtoken?content=$service status1Service: $service restarted properly!" else #Send response to PRTG that the restart was not successful wget -O/dev/null "$prtghost/$identtoken?content=$service status0Service: $service can't restart properly! Please take action!" fi fi