rust称重到mqtt
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

123 řádky
2.4KB

  1. #!/bin/bash
  2. # 确保脚本以root权限运行
  3. if [ "$EUID" -ne 0 ]; then
  4. echo "请使用root权限运行此脚本"
  5. exit 1
  6. fi
  7. SERVICE_NAME="weight-reader"
  8. INSTALL_DIR="/opt/weight-reader"
  9. SERVICE_FILE="/etc/systemd/system/weight-reader.service"
  10. # 创建安装目录
  11. create_install_dir() {
  12. echo "创建安装目录..."
  13. mkdir -p "$INSTALL_DIR"
  14. chmod 755 "$INSTALL_DIR"
  15. }
  16. # 复制文件
  17. copy_files() {
  18. echo "复制文件..."
  19. cp weight_reader "$INSTALL_DIR/"
  20. cp config.json "$INSTALL_DIR/"
  21. cp weight-reader.service "$SERVICE_FILE"
  22. chmod 755 "$INSTALL_DIR/weight_reader"
  23. chmod 644 "$INSTALL_DIR/config.json"
  24. chmod 644 "$SERVICE_FILE"
  25. }
  26. # 安装服务
  27. install_service() {
  28. echo "安装服务..."
  29. systemctl daemon-reload
  30. systemctl enable $SERVICE_NAME
  31. systemctl start $SERVICE_NAME
  32. echo "服务已安装并启动"
  33. }
  34. # 卸载服务
  35. uninstall_service() {
  36. echo "停止并卸载服务..."
  37. systemctl stop $SERVICE_NAME
  38. systemctl disable $SERVICE_NAME
  39. rm -f "$SERVICE_FILE"
  40. rm -rf "$INSTALL_DIR"
  41. systemctl daemon-reload
  42. echo "服务已卸载"
  43. }
  44. # 启动服务
  45. start_service() {
  46. echo "启动服务..."
  47. systemctl start $SERVICE_NAME
  48. echo "服务已启动"
  49. }
  50. # 停止服务
  51. stop_service() {
  52. echo "停止服务..."
  53. systemctl stop $SERVICE_NAME
  54. echo "服务已停止"
  55. }
  56. # 重启服务
  57. restart_service() {
  58. echo "重启服务..."
  59. systemctl restart $SERVICE_NAME
  60. echo "服务已重启"
  61. }
  62. # 查看服务状态
  63. status_service() {
  64. systemctl status $SERVICE_NAME
  65. }
  66. # 显示使用帮助
  67. show_help() {
  68. echo "使用方法: $0 [命令]"
  69. echo "命令:"
  70. echo " install - 安装并启动服务"
  71. echo " uninstall - 停止并卸载服务"
  72. echo " start - 启动服务"
  73. echo " stop - 停止服务"
  74. echo " restart - 重启服务"
  75. echo " status - 查看服务状态"
  76. echo " help - 显示此帮助信息"
  77. }
  78. # 主程序
  79. case "$1" in
  80. "install")
  81. create_install_dir
  82. copy_files
  83. install_service
  84. ;;
  85. "uninstall")
  86. uninstall_service
  87. ;;
  88. "start")
  89. start_service
  90. ;;
  91. "stop")
  92. stop_service
  93. ;;
  94. "restart")
  95. restart_service
  96. ;;
  97. "status")
  98. status_service
  99. ;;
  100. "help"|"")
  101. show_help
  102. ;;
  103. *)
  104. echo "未知命令: $1"
  105. show_help
  106. exit 1
  107. ;;
  108. esac
  109. exit 0