#!/bin/sh #须要监测的服务列表 services=("common-server" "tomcat-server") startScript="" # 获取服务启动脚本 function getStart() { # 独立服务启动脚本 start="./$1/bin/start.sh" # tomcat服务启动脚本 startup="./$1/bin/startup.sh" if [ -f $start ] then startScript=$start else startScript=$startup fi } while(true) do for s in ${services[@]}; do getStart $s sudo ps -ef | grep $s | grep -v "grep" >> /dev/null status=$? if [ $status -eq 0 ] then # 服务正常,无需启动 echo $s" is ok." `date +%Y-%m-%d\ %H\:%M\:%S` >> /dev/null else # 服务中止,需重启 echo "restart $s at " `date +%Y-%m-%d\ %H\:%M\:%S` >> monitor.log $startScript >> /dev/null sleep 2 fi done sleep 10 done