diff --git a/modules/base/middleware/server.go b/modules/base/middleware/server.go index 22ccb804..bf6c75a3 100644 --- a/modules/base/middleware/server.go +++ b/modules/base/middleware/server.go @@ -172,8 +172,8 @@ func (s *ServerHandler) executeFullDeployment() error { s.sendTerminalOutput(s.session.WebSocket, fmt.Sprintf("【前置检查】有效下载链接:%s", fileURL)) // 2. 生成目标文件路径 - randomFileName := s.generateRandomFileName() - remoteExePath := fmt.Sprintf("%s/%s", defaultWorkDir, randomFileName) + //randomFileName := s.generateRandomFileName() + remoteExePath := fmt.Sprintf("%s/%s", defaultWorkDir, filename) remoteWorkDir := defaultWorkDir onlineID := fmt.Sprintf("%d", s.ServerList.OnlineID) fixedScreenSession := "logic" @@ -282,13 +282,9 @@ fi # ===== 启动新程序 ===== echo "设置执行权限:%s{exe_path}" chmod +x "%s{exe_path}" || { echo "❌ 设置权限失败"; exit 1; } -# 定义时间戳(格式:年-月-日_时-分-秒,比如 2026-03-03_15-30-25) -timestamp=$(date +"%Y-%m-%d_%H-%M-%S") + echo "启动Screen会话[%s{screen_name}]..." -# 4. 启动screen会话(修复引号转义,让timestamp变量正确传递) -screen -dmS "%s{screen_name}" bash -c ' - "%s" -id=%s 2>&1 | tee -a "$HOME/run_%s.log" -' "%s{exe_path}" "%s{online_id}" "${timestamp}" +screen -dmS "%s{screen_name}" bash -c '"%s{exe_path}" -id=%s{online_id} 2>&1 | tee -a "$HOME/run_%s{randomFileName}.log"' sleep 2 if screen -ls | grep -q "%s{screen_name}"; then @@ -309,7 +305,7 @@ echo "#SCRIPT_EXECUTION_COMPLETE#" deploymentScript = strings.ReplaceAll(deploymentScript, "%s{file_url}", fileURL) deploymentScript = strings.ReplaceAll(deploymentScript, "%s{exe_path}", remoteExePath) deploymentScript = strings.ReplaceAll(deploymentScript, "%s{online_id}", onlineID) - + deploymentScript = strings.ReplaceAll(deploymentScript, "%s{randomFileName}", filename) // 5. 执行脚本 _, err := s.executeScript(deploymentScript, "full_deployment_"+grand.S(10)) if err != nil {