Shell进行linux服务器进程状态监控脚本

使用shell检测nginx,svn,禅道的状态,检测到线程挂掉了,系统自动重启

#!/bin/bash
LOG_FILE="autostart.log"
#检测nginx
curtime=$(date "+%Y-%m-%d %H:%M:%S")
pnginx=`ps -ef | grep nginx | grep -v "grep" | wc -l`
if [ $pnginx -eq 0 ]; then
        echo "$curtime 系统检测到nginx,已挂掉,启动中...." >> autostart.log;
        /usr/sbin/nginx #启动nginx命令
        echo "$curtime nginx启动完成" >> autostart.log;
else
        echo "$curtime 系统检测到nginx运行正常" >> autostart.log;
fi

#检测svn
psvn=`ps -ef | grep svnserve | grep -v "grep" | wc -l`
if [ $psvn -eq 0 ]; then   
        echo "$curtime 系统检测到svn已挂掉,启动中...." >> autostart.log;
        svnserve -d -r /home/svn/
        echo "$curtime svn启动完成" >> autostart.log;
else    
        echo "$curtime 系统检测到SVN运行正常" >> autostart.log;
fi           
      

#检测禅道
pzbox=`ps -ef | grep zbox | grep -v "grep" | wc -l`
if [ $pzbox -eq 0 ]; then
        echo "$curtime 系统检测到禅道已挂掉,启动中...." >> autostart.log;
        /opt/zbox/zbox start 
        echo "$curtime 禅道启动完成" >> autostart.log;
else
        echo "$curtime 系统检测到禅道运行正常" >> autostart.log;
fi

你可能感兴趣的:(经验交流,运维)