Shell脚本实现监控kingate并自动启动

自己在vps做的kingate服务端,估计最近占用流量太大了,老是被服务商把我vps重启,但kingate这个东西是一旦被强制结束掉,是无法开机启动的,因为要把kingate.pid这个文件删除了才能启动,好吧,对于我们这样的懒人来说,当然不能自己去登录服务器去手动删除并启动kingate,就写了个简单的shell脚本来替我完成这些。

系统:centos 5.x

脚本内容:

cat kingate.sh


#!/bin/bash

kingate=`ps -C kingate --no-header|wc -l`

file=`find /usr/local/kingate/var/kingate.pid |wc -l`

if [ "$kingate" = "1" ];then

echo "kingate is running...."

else

if [ "$file" = "1" ];then

rm -f /usr/local/kingate/var/kingate.pid

/etc/init.d/kingate start

sleep 1

kingate=`ps -C kingate --no-header|wc -l`

if [ "$kingate" = "1" ];then

echo "kingate is ok!"

else

/etc/init.d/kingate start

fi

fi

fi

用crontab每隔3分钟执行下kingate.sh这个脚本,当然如果你不嫌浪费资源的话,还可以自己搞个邮件报警.