Auto restart lighttpd on crash
To restart lighttpd if it went down or crashed, create a file check_lighttpd.sh
1 2 |
mkdir /usr/serverok vi /usr/serverok/check_lighttpd.sh |
With the following content
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#!/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}'`" you@yourdomain.extn datetime=`date "+%Y%m%d %H:%M:%S"` echo $datetime "failure">>/var/log/lighttpd/check.log ) fi |
Make it executable
1 |
chmod 755 /usr/serverok/check_lighttpd.sh |
Create a file up.html on web root of your web site
1 |
echo "up" > /path/to/docroot/up.html |
Now set a cronjob to run every 5 minutes
1 |
crontab -e |
Add following cronjob
1 |
*/5 * * * * /usr/serverok/check_lighttpd.sh 1> /dev/null 2> /dev/null |
See lighttpd