在实际生产环境中使用比较多web环境一般是Apache,平时为了确保Apache的正常运行,一定会对Apache进程监控,但是一般情况下效率并不是很好,为了确保生产环境中的业务正常运行或者是故障快速处理可以利用检查系统中是否有httpd的tcp连接来判断,为此就写了一个检查Apache的脚本。
#!/bin/bash
#use monitor httpd status
#chmod 700
#check_httpd.sh version 1.0
#2016.11.28 jim
httpd_port=`netstat -tuln|awk '{print $4}'|grep ':80'`
apache_base_bin=/usr/local/apache/bin
log_dir=/data/backup/logs/apache
if [ ! -e "$log_dir" ];then
mkdir -p $log_dir
fi
if [ "$httpd_port" == "" ];then
$apache_base_bin/apachectl restart
echo "apache restart `date +"%Y-%m-%d %H:%M:%S"`"|tee -a $log_dir/`date +"%Y%m%d-%H:%M"`.log
fi
然后再在crontab中添加定时一分钟检查一次
*/1 * * * * /usr/local/scripts/check_httpd.sh
当然也可以通过这个脚本定时检查一些需要tcp或者是udp连接的服务。
下面关于LAMP相关的内容你可能也喜欢:
LAMP平台安装Xcache和Memcached加速网站运行
CentOS 7下搭建LAMP平台环境
CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境