28 lines
697 B
Bash
28 lines
697 B
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# 指定要检查的服务名
|
||
|
|
SERVICE="opengauss.service"
|
||
|
|
RETRY_COUNT=3 # 最大尝试次数
|
||
|
|
SLEEP_TIME=3 # 每次检查间隔(秒)
|
||
|
|
|
||
|
|
for ((i=1; i<=RETRY_COUNT; i++)); do
|
||
|
|
sleep $SLEEP_TIME
|
||
|
|
status=$(systemctl is-active $SERVICE)
|
||
|
|
|
||
|
|
if [ "$status" == "active" ]; then
|
||
|
|
echo "$SERVICE 服务正在运行。"
|
||
|
|
exit 0 # 成功退出
|
||
|
|
|
||
|
|
else
|
||
|
|
echo "第 $i 次检查:$SERVICE 服务未运行,状态:$status"
|
||
|
|
if [ "$i" -lt "$RETRY_COUNT" ]; then
|
||
|
|
echo "等待 $SLEEP_TIME 秒后重试..."
|
||
|
|
sleep $SLEEP_TIME
|
||
|
|
fi
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
|
||
|
|
echo "$SERVICE 服务未能成功启动,请检查日志!"
|
||
|
|
exit 1 # 失败退出
|
||
|
|
|