Преглед на файлове

麒麟运行服务脚本

dev
OCEAN преди 3 месеца
родител
ревизия
0a84b31732
променени са 2 файла, в които са добавени 136 реда и са изтрити 0 реда
  1. +122
    -0
      install.sh
  2. +14
    -0
      weight-reader.service

+ 122
- 0
install.sh Целия файл

@@ -0,0 +1,122 @@
#!/bin/bash

# 确保脚本以root权限运行
if [ "$EUID" -ne 0 ]; then
echo "请使用root权限运行此脚本"
exit 1
fi

SERVICE_NAME="weight-reader"
INSTALL_DIR="/opt/weight-reader"
SERVICE_FILE="/etc/systemd/system/weight-reader.service"

# 创建安装目录
create_install_dir() {
echo "创建安装目录..."
mkdir -p "$INSTALL_DIR"
chmod 755 "$INSTALL_DIR"
}

# 复制文件
copy_files() {
echo "复制文件..."
cp weight_reader "$INSTALL_DIR/"
cp config.json "$INSTALL_DIR/"
cp weight-reader.service "$SERVICE_FILE"
chmod 755 "$INSTALL_DIR/weight_reader"
chmod 644 "$INSTALL_DIR/config.json"
chmod 644 "$SERVICE_FILE"
}

# 安装服务
install_service() {
echo "安装服务..."
systemctl daemon-reload
systemctl enable $SERVICE_NAME
systemctl start $SERVICE_NAME
echo "服务已安装并启动"
}

# 卸载服务
uninstall_service() {
echo "停止并卸载服务..."
systemctl stop $SERVICE_NAME
systemctl disable $SERVICE_NAME
rm -f "$SERVICE_FILE"
rm -rf "$INSTALL_DIR"
systemctl daemon-reload
echo "服务已卸载"
}

# 启动服务
start_service() {
echo "启动服务..."
systemctl start $SERVICE_NAME
echo "服务已启动"
}

# 停止服务
stop_service() {
echo "停止服务..."
systemctl stop $SERVICE_NAME
echo "服务已停止"
}

# 重启服务
restart_service() {
echo "重启服务..."
systemctl restart $SERVICE_NAME
echo "服务已重启"
}

# 查看服务状态
status_service() {
systemctl status $SERVICE_NAME
}

# 显示使用帮助
show_help() {
echo "使用方法: $0 [命令]"
echo "命令:"
echo " install - 安装并启动服务"
echo " uninstall - 停止并卸载服务"
echo " start - 启动服务"
echo " stop - 停止服务"
echo " restart - 重启服务"
echo " status - 查看服务状态"
echo " help - 显示此帮助信息"
}

# 主程序
case "$1" in
"install")
create_install_dir
copy_files
install_service
;;
"uninstall")
uninstall_service
;;
"start")
start_service
;;
"stop")
stop_service
;;
"restart")
restart_service
;;
"status")
status_service
;;
"help"|"")
show_help
;;
*)
echo "未知命令: $1"
show_help
exit 1
;;
esac

exit 0

+ 14
- 0
weight-reader.service Целия файл

@@ -0,0 +1,14 @@
[Unit]
Description=Weight Reader Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/weight-reader
ExecStart=/opt/weight-reader/weight_reader
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

Loading…
Отказ
Запис