95 lines
2.6 KiB
Bash
95 lines
2.6 KiB
Bash
#!/bin/bash
|
||
|
||
# Gerrit 服务检查和启动脚本
|
||
|
||
GERRIT_HOME="/home/renjianbo/gerrit_install"
|
||
JAVA_HOME="/usr/local/java/jdk-17.0.12+7"
|
||
|
||
echo "=========================================="
|
||
echo "检查 Gerrit 服务状态"
|
||
echo "=========================================="
|
||
echo ""
|
||
|
||
# 检查 review_site 是否存在
|
||
if [ ! -d "${GERRIT_HOME}/review_site" ]; then
|
||
echo "❌ review_site 目录不存在!"
|
||
echo ""
|
||
echo "需要重新初始化 Gerrit,请执行:"
|
||
echo " cd /home/renjianbo/gerrit"
|
||
echo " ./reinit_gerrit.sh"
|
||
echo ""
|
||
exit 1
|
||
fi
|
||
|
||
cd ${GERRIT_HOME}/review_site
|
||
|
||
# 检查服务状态
|
||
echo "检查服务状态..."
|
||
if [ -f "bin/gerrit.sh" ]; then
|
||
bin/gerrit.sh status 2>&1
|
||
STATUS=$?
|
||
|
||
if [ $STATUS -ne 0 ] || ! bin/gerrit.sh status 2>&1 | grep -q "Running\|Gerrit running"; then
|
||
echo ""
|
||
echo "服务未运行,正在启动..."
|
||
echo ""
|
||
|
||
# 设置 Java 环境
|
||
export JAVA_HOME=$JAVA_HOME
|
||
export PATH=$JAVA_HOME/bin:$PATH
|
||
|
||
# 确保启动脚本使用 Java 17
|
||
if ! grep -q "JAVA_HOME.*jdk-17" bin/gerrit.sh 2>/dev/null; then
|
||
echo "更新启动脚本使用 Java 17..."
|
||
cp bin/gerrit.sh bin/gerrit.sh.bak
|
||
sed -i "2i export JAVA_HOME=${JAVA_HOME}\nexport PATH=\$JAVA_HOME/bin:\$PATH" bin/gerrit.sh
|
||
fi
|
||
|
||
# 启动服务
|
||
bin/gerrit.sh start
|
||
|
||
sleep 5
|
||
|
||
# 再次检查状态
|
||
echo ""
|
||
echo "检查启动结果..."
|
||
bin/gerrit.sh status 2>&1
|
||
|
||
if bin/gerrit.sh status 2>&1 | grep -q "Running\|Gerrit running"; then
|
||
echo ""
|
||
echo "✅ 服务启动成功!"
|
||
echo ""
|
||
echo "访问地址: http://101.43.95.130:8080"
|
||
else
|
||
echo ""
|
||
echo "❌ 服务启动失败,请查看日志:"
|
||
echo " tail -f ${GERRIT_HOME}/review_site/logs/error_log"
|
||
fi
|
||
else
|
||
echo ""
|
||
echo "✅ 服务正在运行"
|
||
echo ""
|
||
echo "访问地址: http://101.43.95.130:8080"
|
||
fi
|
||
else
|
||
echo "❌ 未找到 bin/gerrit.sh"
|
||
echo "review_site 可能未正确初始化"
|
||
exit 1
|
||
fi
|
||
|
||
echo ""
|
||
echo "检查端口监听..."
|
||
if command -v netstat &> /dev/null; then
|
||
netstat -tlnp 2>/dev/null | grep ":8080" || echo "⚠️ 端口 8080 未被监听"
|
||
elif command -v ss &> /dev/null; then
|
||
ss -tlnp 2>/dev/null | grep ":8080" || echo "⚠️ 端口 8080 未被监听"
|
||
fi
|
||
|
||
echo ""
|
||
echo "检查进程..."
|
||
ps aux | grep "[g]errit.war daemon" | head -2
|
||
|
||
echo ""
|
||
echo "=========================================="
|
||
|