# 函数用于记录日志到文件和控制台 log() { echo"$1" | tee -a "$LOG_FILE" }
# 检查参数 case"$1"in stop) # 停止 alist 服务 if pgrep -f './alist server' > /dev/null; then cd"$WORK_DIR" pkill -f './alist server' log"Stopped alist server at $(date)" else log"alist server is not running at $(date)" fi ;; start) # 启动 alist 服务 if ! pgrep -f './alist server' > /dev/null; then cd"$WORK_DIR" nohup ./alist server > /dev/null 2>&1 & log"Started alist server at $(date)" else log"alist server is already running at $(date)" fi ;; restart) # 重启 alist 服务 if pgrep -f './alist server' > /dev/null; then cd"$WORK_DIR" pkill -f './alist server' log"Stopped alist server at $(date)" sleep 2 # 等待服务完全停止 fi cd"$WORK_DIR" nohup ./alist server > /dev/null 2>&1 & log"Started alist server at $(date)" ;; *) log"Usage: $0 {start|stop|restart}" exit 1 ;; esac