crontab实现每秒去检查

crontab定时脚本的最小单位是分钟,假设有个实时跟踪服务状态的需求,要求每秒检查某个脚本是否在跑的状态,控制每秒检查的检查的脚本为sec_check.sh

#!/bin/bash  
step=1 #间隔的秒数

for (( i = 0; i < 60; i=(i+step) )); do
      sh check_server.sh
     sleep $step
    done

   exit 0

 

检查服务是否处于运行状态的脚本为check_server.sh如下:

var=`ps -ef|grep 'XXXXX' |grep -v grep|wc -l`
if [ $var -eq 0 ]
then
echo "start process....."

启动服务(sh xxx.sh)
echo "start server....." >>XXXXX.log
fi

 

 

 

你可能感兴趣的:(linux)