#!/bin/bash # WPS Bot Game 服务管理脚本 SERVICE_NAME="wps-bot" # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 显示帮助信息 show_help() { echo "WPS Bot Game 服务管理工具" echo "" echo "用法: $0 {start|stop|restart|status|logs|enable|disable|update}" echo "" echo "命令说明:" echo " start - 启动服务" echo " stop - 停止服务" echo " restart - 重启服务" echo " status - 查看服务状态" echo " logs - 查看实时日志" echo " enable - 启用开机自启" echo " disable - 禁用开机自启" echo " update - 更新代码并重启" echo "" } # 启动服务 start_service() { echo -e "${YELLOW}正在启动服务...${NC}" sudo systemctl start ${SERVICE_NAME} if [ $? -eq 0 ]; then echo -e "${GREEN}✅ 服务启动成功${NC}" sleep 2 sudo systemctl status ${SERVICE_NAME} --no-pager else echo -e "${RED}❌ 服务启动失败${NC}" exit 1 fi } # 停止服务 stop_service() { echo -e "${YELLOW}正在停止服务...${NC}" sudo systemctl stop ${SERVICE_NAME} if [ $? -eq 0 ]; then echo -e "${GREEN}✅ 服务已停止${NC}" else echo -e "${RED}❌ 服务停止失败${NC}" exit 1 fi } # 重启服务 restart_service() { echo -e "${YELLOW}正在重启服务...${NC}" sudo systemctl restart ${SERVICE_NAME} if [ $? -eq 0 ]; then echo -e "${GREEN}✅ 服务重启成功${NC}" sleep 2 sudo systemctl status ${SERVICE_NAME} --no-pager else echo -e "${RED}❌ 服务重启失败${NC}" exit 1 fi } # 查看状态 show_status() { sudo systemctl status ${SERVICE_NAME} } # 查看日志 show_logs() { echo -e "${YELLOW}实时日志(按Ctrl+C退出):${NC}" sudo journalctl -u ${SERVICE_NAME} -f } # 启用开机自启 enable_service() { echo -e "${YELLOW}启用开机自启...${NC}" sudo systemctl enable ${SERVICE_NAME} if [ $? -eq 0 ]; then echo -e "${GREEN}✅ 已启用开机自启${NC}" else echo -e "${RED}❌ 启用失败${NC}" exit 1 fi } # 禁用开机自启 disable_service() { echo -e "${YELLOW}禁用开机自启...${NC}" sudo systemctl disable ${SERVICE_NAME} if [ $? -eq 0 ]; then echo -e "${GREEN}✅ 已禁用开机自启${NC}" else echo -e "${RED}❌ 禁用失败${NC}" exit 1 fi } # 更新代码 update_service() { echo -e "${YELLOW}正在更新代码...${NC}" # 停止服务 stop_service # 进入项目目录 cd /opt/wps-bot # 拉取最新代码(如果使用git) if [ -d ".git" ]; then echo -e "${YELLOW}从Git拉取最新代码...${NC}" sudo -u ubuntu git pull fi # 更新依赖 echo -e "${YELLOW}更新依赖...${NC}" sudo -u ubuntu /home/ubuntu/miniconda3/envs/liubai/bin/pip install -r requirements.txt # 重启服务 start_service echo -e "${GREEN}✅ 更新完成${NC}" } # 主逻辑 case "$1" in start) start_service ;; stop) stop_service ;; restart) restart_service ;; status) show_status ;; logs) show_logs ;; enable) enable_service ;; disable) disable_service ;; update) update_service ;; *) show_help exit 1 ;; esac exit 0