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

#!/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 服务已安装并启动"