最近一段时间,一个服务器托管用户的经常因为程序错误而导致apache服务自动中止,而造成服务器内的网站均不能访问。帮他做了一个shell,定时检测apache是否启动,如果没启动,自动启动该服务。
#!/bin/sh
check_services()
{
echo "Check services..."
services=""
if [ -z "`ps -A|grep httpd`" ]
then
services="$services httpd"
fi
}
start_services()
{
echo "Start services..."
for start_services in `echo $services`
do
/etc/init.d/$start_services start
done
echo
}
check_services
echo
echo "Check services succeed!"
echo
start_services
echo
echo "Start services succeed!"
echo
把此脚本加入到计划任务中,实现定时检测服务的运行状况。
*/1 * * * * root /user/bin/httpcheck.sh
在/etc/crontab中加入以上代码,重启crond服务以后,即可实现每分钟检测一下服务的运行状况。