#!/bin/sh
HOSTNAME=""
PORT="3306"
USERNAME=""
PASSWORD=""
DBNAME=""
app=""
app_path=""
sql="select count(1) from test"
while true
do
time=$(date "+%Y-%m-%d %H:%M:%S")
result=$(mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -N -e "${sql}")
if [ $result -lt 10 ]; then
echo "${time}:应用正常"
else
for p_id in $(ps -ef|grep $app |grep -v grep| awk '{ print $2}' | tail -n +1)
do
kill -9 $p_id
echo "停止进程:{$p_id}"
done
nohup java -jar $app_path >/dev/null 2>&1 &
echo "${time}:重启应用"
fi
sleep 30s
done
linux shell 脚本执行sql和程序监测
最新推荐文章于 2025-04-28 15:41:10 发布
本文介绍了一个使用Shell脚本实现的应用健康监测方案。通过定时查询数据库并根据结果判断应用状态,若检测到异常则自动重启应用,确保服务稳定运行。
3913

被折叠的 条评论
为什么被折叠?



