WatchDog watchdog.sh script for checking server running
Article Number: 344 | Rating: Unrated | Last Updated: Tue, Jul 31, 2018 9:37 AM
# Service watchdog script |
# Put in crontab to automatially restart services (and optionally email you) if they die for some reason. |
# Note: You need to run this as root otherwise you won't be able to restart services. |
# Strict check for apache2 service every 5 minutes, pipe results to /dev/null |
# */5 * * * * sh /root/watchdog.sh apache2 "" > /dev/null |
# "Loose" check for mysqld every 5 minutes, second parameter is the name of the service |
# to restart, in case the application and service names differ. Also emails a report to admin@domain.com |
# */5 * * * * sh /root/watchdog.sh mysqld mysql admin@domain.com > /dev/null |
# apache2 - Debian/Ubuntu |
# httpd - RHEL/CentOS/Fedora |
# mysqld - RHEL/CentOS/Fedora |
DATE=`date +%Y-%m-%d--%H-%M-%S` |
EXTRA_PGREP_PARAMS="-x" #Extra parameters to pgrep, for example -x is good to do exact matching |
MAIL_TO="$3" #Email to send restart notifications to |
#path to pgrep command, for example /usr/bin/pgrep |
#Check if we have have a second param |
if [ -z $SERVICE_RESTARTNAME ] |
RESTART="/sbin/service ${SERVICE_NAME} restart" #No second param |
RESTART="/sbin/service ${SERVICE_RESTARTNAME} restart" #Second param |
pids=`$PGREP ${EXTRA_PGREP_PARAMS} ${SERVICE_NAME}` |
#if we get no pids, service is not running |
echo "$DATE : ${SERVICE_NAME} restarted - no email report configured." |
echo "$DATE : Performing restart of ${SERVICE_NAME}" | mail -s "Service failure: ${SERVICE_NAME}" ${MAIL_TO} |
echo "$DATE : Service ${SERVICE_NAME} is still working!" |
# copylefted from https://gist.github.com/vodolaz095/5073080 |
/bin/bash /root/watchdog.sh mysqld mysqld "$mailto" |
/bin/bash /root/watchdog.sh httpd httpd "$mailto" |
/bin/bash /root/watchdog.sh pound pound "$mailto" |
/bin/bash /root/watchdog.sh redis-server redis "$mailto" |
/bin/bash /root/watchdog.sh memcached memcached "$mailto" |
/bin/bash /root/watchdog.sh searchd searchd "$mailto"
Posted - Tue, Jul 31, 2018 9:37 AM. This article has been viewed 5653 times.
Filed Under:
Linux
There are no attachments for this article.
There are no comments for this article. Be the first to post a comment.
Related Articles

Use Fail2ban to Secure Your Server
Viewed 15268 times since Fri, Jul 5, 2019
Używanie rsync poprzez Secure Shell
Viewed 41504 times since Thu, May 24, 2018
Understanding logrotate utility part 1
Viewed 1956 times since Fri, Nov 30, 2018