To restart lighttpd if it went down or crashed, create a file check_lighttpd.sh
mkdir /usr/serverok vi /usr/serverok/check_lighttpd.sh
With the following content
#!/bin/bash /usr/bin/wget --tries=1 --timeout=30 -O /dev/null http://localhost:80/up.html if [ $? -ne 0 ]; then ( killall -9 lighttpd; killall -9 gam_server; killall -9 php-cgi; /etc/init.d/lighttpd stop; mv /var/log/lighttpd/access.log /var/log/lighttpd/access.$(date +%Y%m%d_%H).log mv /var/log/lighttpd/error.log /var/log/lighttpd/error.$(date +%Y%m%d_%H).log /etc/init.d/lighttpd start; echo 'restarting lighttpd' `ps aux` | mail -s "`hostname` restarting lighttpd `who | awk '{print $6}'`" [email protected] datetime=`date "+%Y%m%d %H:%M:%S"` echo $datetime "failure">>/var/log/lighttpd/check.log ) fi
Make it executable
chmod 755 /usr/serverok/check_lighttpd.sh
Create a file up.html on web root of your web site
echo "up" > /path/to/docroot/up.html
Now set a cronjob to run every 5 minutes
crontab -e
Add following cronjob
*/5 * * * * /usr/serverok/check_lighttpd.sh 1> /dev/null 2> /dev/null
See lighttpd
Leave a Reply