Shell Script per Auto Restart Apache HTTPD quando il servizio è down

Questo è uno semplice script di shell testato su CentOS / RHEL / Fedora / Debian / Ubuntu Linux. Dovrebbe funzionare in base a qualsiasi altro sistema operativo UNIX Like.
Il suo scopo è molto semplice, cioè fare un restart del servizio di apache qualora fosse “morto”.

Ecco il codice:

#!/bin/bash
# Apache Process Monitor
# Restart Apache Web Server When It Goes Down
# -------------------------------------------------------------------------
# Copyright (c) 2003 nixCraft project 
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
# RHEL / CentOS / Fedora Linux restart command
RESTART="/sbin/service httpd restart"
 
# uncomment if you are using Debian / Ubuntu Linux
#RESTART="/etc/init.d/apache2 restart"
 
#path to pgrep command
PGREP="/usr/bin/pgrep"
 
# Httpd daemon name,
# Under RHEL/CentOS/Fedora it is httpd
# Under Debian 4.x it is apache2
HTTPD="httpd"
 
# find httpd pid
$PGREP ${HTTPD}
 
if [ $? -ne 0 ] # if apache not running
then
 # restart apache
 $RESTART
fi



A quanto punto è sufficiente impostarlo nel cronjob

*/5 * * * * /path/to/script.sh >/dev/null 2>&1