mirror of https://gitee.com/godoos/godoos.git
2 changed files with 66 additions and 0 deletions
@ -0,0 +1,52 @@ |
|||||
|
#!/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 服务已安装并启动" |
@ -0,0 +1,14 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
# 获取用户输入的平台和架构,默认为当前系统平台和架构 |
||||
|
GOOS=${1:-$(go env GOOS)} |
||||
|
GOARCH=${2:-$(go env GOARCH)} |
||||
|
|
||||
|
# 设置二进制文件的输出名称 |
||||
|
BINARY_NAME="godo" |
||||
|
|
||||
|
# 编译项目 |
||||
|
echo "Building $BINARY_NAME for $GOOS/$GOARCH..." |
||||
|
go build -ldflags="-s -w" -o $BINARY_NAME |
||||
|
|
||||
|
echo "Build completed." |
Loading…
Reference in new issue