Linux上用cron定时任务加Shell脚本实现判断服务挂掉宕机后自动重启服务

整数比较:

   -eq(equal)     : 测试两个整数是否相等;比如 $A -eq $B

   -ne(inequality) : 测试两个整数是否不等;不等,为真;相等,为假;

   -gt(greter than) : 测试一个数是否大于另一个数;大于,为真;否则,为假;

   -lt(less than)  : 测试一个数是否小于另一个数;小于,为真;否则,为假;

   -ge(greter equal): 大于或等于

    -le(less equal) :小于或等于      

命令的间逻辑关系:

   逻辑与: &&

          第一个条件为假时,第二条件不用再判断,最终结果已经有;

          第一个条件为真时,第二条件必须得判断;

   逻辑或: ||   

vim pushflow.sh

#!/bin/bash
# 查询push-flow的进程个数
count=`ps -ef | grep push-flow-system-5.1.2.jar | grep -v "grep" | wc -l`
# echo $count 

sec=7
nowtime=`date +"%Y-%m-%d %H:%M:%S"`
nowDate=`date +"%Y-%m-%d"`
for i in 1
        do
           if [ $count -gt 0 ];then
                echo sleep $sec ,the push-flow is still alive 
           else
           # 若进程未关闭则,重新启动,并列出循环
                cd /app/push-flow
                nohup java -jar push-flow-system-5.1.2.jar > /dev/null 2>&1 &
                echo $nowtime " start push-flow-system-5.1.2.jar"
                echo "ok is successful"
                break
           fi
        done


将写好的脚本加入到定时计划任务:每分钟检测一次
* * * * * /bin/bash pushflow.sh