#!/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 # 失败退出