linux守护进程示例

#!/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 " (psefgrep"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 " psoutputle0];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

你可能感兴趣的:(linux,python,运维)