first commit
This commit is contained in:
99
create_systemd_service.sh
Executable file
99
create_systemd_service.sh
Executable file
@@ -0,0 +1,99 @@
|
||||
#!/bin/bash
|
||||
# 创建 Gerrit systemd 服务,确保服务稳定运行和自动启动
|
||||
|
||||
echo "=========================================="
|
||||
echo "创建 Gerrit systemd 服务"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 检查是否有 root 权限
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "❌ 此脚本需要 root 权限,请使用 sudo 运行"
|
||||
echo ""
|
||||
echo "使用方法:"
|
||||
echo " sudo bash create_systemd_service.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
GERRIT_HOME="/home/renjianbo/gerrit_install/review_site"
|
||||
GERRIT_USER="renjianbo"
|
||||
JAVA_HOME="/usr/local/java/jdk-17.0.12+7"
|
||||
|
||||
echo "配置信息:"
|
||||
echo " 服务目录: ${GERRIT_HOME}"
|
||||
echo " 运行用户: ${GERRIT_USER}"
|
||||
echo " Java 路径: ${JAVA_HOME}"
|
||||
echo ""
|
||||
|
||||
# 创建 systemd 服务文件
|
||||
echo "创建 systemd 服务文件..."
|
||||
sudo tee /etc/systemd/system/gerrit.service > /dev/null << EOSERVICE
|
||||
[Unit]
|
||||
Description=Gerrit Code Review
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=${GERRIT_USER}
|
||||
Group=${GERRIT_USER}
|
||||
WorkingDirectory=${GERRIT_HOME}
|
||||
Environment="JAVA_HOME=${JAVA_HOME}"
|
||||
Environment="PATH=${JAVA_HOME}/bin:/usr/local/bin:/usr/bin:/bin"
|
||||
ExecStart=${GERRIT_HOME}/bin/gerrit.sh start
|
||||
ExecStop=${GERRIT_HOME}/bin/gerrit.sh stop
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOSERVICE
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ systemd 服务文件创建成功"
|
||||
else
|
||||
echo "❌ 创建服务文件失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "重新加载 systemd 配置..."
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ systemd 配置已重新加载"
|
||||
else
|
||||
echo "❌ 重新加载失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "设置开机自启动..."
|
||||
sudo systemctl enable gerrit
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ 开机自启动已设置"
|
||||
else
|
||||
echo "❌ 设置开机自启动失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "✅ systemd 服务配置完成!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "服务管理命令:"
|
||||
echo " 启动服务: sudo systemctl start gerrit"
|
||||
echo " 停止服务: sudo systemctl stop gerrit"
|
||||
echo " 重启服务: sudo systemctl restart gerrit"
|
||||
echo " 查看状态: sudo systemctl status gerrit"
|
||||
echo " 查看日志: sudo journalctl -u gerrit -f"
|
||||
echo ""
|
||||
echo "服务特性:"
|
||||
echo " ✅ 开机自动启动"
|
||||
echo " ✅ 故障自动重启(失败后10秒重启)"
|
||||
echo " ✅ 日志记录到 systemd journal"
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user