mirror of https://gitee.com/godoos/godoos.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
52 lines
1.3 KiB
#!/bin/bash
|
|
|
|
# 定义变量
|
|
SERVICE_NAME="godoos"
|
|
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service"
|
|
WORKING_DIRECTORY=$(dirname "$0")
|
|
EXEC_START="$WORKING_DIRECTORY/godo"
|
|
LOG_FILE="$WORKING_DIRECTORY/godoos.log"
|
|
|
|
# 创建 systemd 服务单元文件内容
|
|
SERVICE_CONTENT="[Unit]
|
|
Description=GodoOS Service
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
WorkingDirectory=$WORKING_DIRECTORY
|
|
ExecStart=$EXEC_START
|
|
Restart=on-failure
|
|
StandardOutput=append:$LOG_FILE
|
|
StandardError=append:$LOG_FILE
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target"
|
|
|
|
# 检查工作目录和可执行文件是否存在
|
|
if [ ! -d "$WORKING_DIRECTORY" ]; then
|
|
echo "错误: 工作目录 $WORKING_DIRECTORY 不存在。请检查路径。"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -x "$EXEC_START" ]; then
|
|
echo "错误: 可执行文件 $EXEC_START 不存在或不可执行。请检查路径。"
|
|
exit 1
|
|
fi
|
|
|
|
# 创建服务单元文件
|
|
echo "创建服务单元文件 $SERVICE_FILE"
|
|
echo "$SERVICE_CONTENT" | sudo tee $SERVICE_FILE > /dev/null
|
|
|
|
# 重新加载 systemd 配置
|
|
echo "重新加载 systemd 配置"
|
|
sudo systemctl daemon-reload
|
|
|
|
# 启动并启用服务
|
|
echo "启动 $SERVICE_NAME 服务"
|
|
sudo systemctl start $SERVICE_NAME
|
|
|
|
echo "启用 $SERVICE_NAME 服务在启动时自动运行"
|
|
sudo systemctl enable $SERVICE_NAME
|
|
|
|
echo "$SERVICE_NAME 服务已安装并启动"
|