#!/bin/bash
定义 服务的关键字
KEYWORD=“XXX.jar”
定义日志文件路径
LOG_FILE=“/data/xxx/watch_xxx.log”
echo J A V A H O M E > > " JAVA_HOME >> " JAVAHOME>>"LOG_FILE"
定义记录时间戳的函数
timestamp(){
date “+%Y-%m-%d %H:%M:%S”
}
检查 tapdata 服务是否正常运行的函数
check_xxx(){
执行 ps 命令并使用 grep 过滤关键字
ps_output= ( p s − e f ∣ g r e p " (ps -ef | grep " (ps−ef∣grep"KEYWORD" | grep -v grep | wc -l)
检查 grep 命令的返回值
if [ p s o u t p u t − l e 0 ] ; t h e n e c h o " ps_output -le 0 ]; then echo " psoutput−le0];thenecho"(timestamp): xxx 服务已停止1,正在重启…" >> “$LOG_FILE”
return 0
else
tapdata 服务运行中
echo "$(timestamp): xxx 正常运行中..." >> "$LOG_FILE"return 1
fi
}
无限循环监控 xxx服务状态并重启
if check_xxx; then
echo “ ( t i m e s t a m p ) : x x x 服务已停止 2 ,正在重启 . . . " > > " (timestamp): xxx 服务已停止2,正在重启..." >> " (timestamp):xxx服务已停止2,正在重启...">>"LOG_FILE”
echo J A V A H O M E > > " JAVA_HOME >> " JAVAHOME>>"LOG_FILE"
在这里添加重启 xxx服务的命令,比如使用 systemctl 或 service 命令
/data/xxx/xxx start
echo “ ( t i m e s t a m p ) : x x x 服务已重启 3 。 " > > " (timestamp): xxx 服务已重启3。" >> " (timestamp):xxx服务已重启3。">>"LOG_FILE”
fi