简单的linux看门狗脚本

watchdog.sh

 1 #!/bin/bash
 2 
 3 now=`date '+%Y-%m-%d %H:%M:%S'`
 4 baseDir=$(cd `dirname $0`; pwd)
 5 sleepTime=10
 6 
 7 #user=`whoami`
 8 user="root"
 9 if [ "$user" != "root" ]; then
10     echo "this tool must run as *root*"
11     exit
12 fi
13 
14 if [ ! $# == 1 ]; then
15     echo "Usage: $0 servicename"
16     exit
17 fi
18 
19 while [ 0 -lt 1 ]
20 do
21     now=`date '+%Y-%m-%d %H:%M:%S'`
22     ret1=`ps -ef | grep $1 | grep -v grep | grep -v watchdog | wc -l`
23     if [ $ret1 -eq 0 ]; then
24         echo "$now $1 service not exists ,start $1 service now... "
25         echo $ret1
26         service $1 start
27         echo "$now start $1 done ..... "
28     else
29         echo "$now $1 service exists , sleep $sleepTime seconds "
30     fi
31     sleep $sleepTime
32 done

watchdog_start.sh

1 #!/bin/sh
2 ./watchdog_stop.sh
3 
4 servicename=zookeeper
5 ./watchdog.sh $servicename>watchdog.log 2>&1 &

watchdog_stop.sh

1 #!/bin/sh
2 servicename=zookeeper
3 
4 pid=`ps aux | grep "watchdog.sh $servicename" | grep -v grep | awk '{print $2}'`
5 if [[ -z $pid ]]; then
6     echo not find "watchdog.sh $servicename" running
7 else
8     kill -9 $pid
9 fi

 

posted on 2019-03-04 11:10  lijianbo  阅读(475)  评论(0编辑  收藏  举报

导航