From 1c98320f1a1130abe8496e6d0b3d3d9117ad8938 Mon Sep 17 00:00:00 2001 From: pi-agent Date: Sat, 28 Mar 2026 13:11:39 +0800 Subject: [PATCH] fix: preserve panel install directory --- README.md | 1 + panel-start.sh | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index df19dda..2fb2848 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,7 @@ PT_JAVA_ARGS="-Xms1G -Xmx1G" ``` `panel-start.sh` 默认会额外下载 `packwiz-installer.jar`,并通过本地文件方式交给 bootstrap 使用,适合 GitHub API 受限(例如 403)的面板环境。 +另外,它不会在每次启动时删除整个 `INSTALL_DIR`;如果目录已存在,只会覆盖仓库脚本与 pack 文件,尽量保留你已经配置好的文件。 这个脚本会: diff --git a/panel-start.sh b/panel-start.sh index fed2bd4..5432699 100755 --- a/panel-start.sh +++ b/panel-start.sh @@ -52,8 +52,13 @@ tar -xzf "$ARCHIVE_PATH" -C "$TMP_DIR" EXTRACTED_DIR="$(find "$TMP_DIR" -mindepth 1 -maxdepth 1 -type d | head -n 1)" [ -n "$EXTRACTED_DIR" ] || fail "解压失败" -rm -rf "$INSTALL_DIR" -mv "$EXTRACTED_DIR" "$INSTALL_DIR" +if [ ! -d "$INSTALL_DIR" ]; then + mv "$EXTRACTED_DIR" "$INSTALL_DIR" +else + log "保留现有安装目录,仅覆盖仓库文件" + cp -r "$EXTRACTED_DIR"/. "$INSTALL_DIR"/ + rm -rf "$EXTRACTED_DIR" +fi rm -rf "$TMP_DIR" "$ARCHIVE_PATH" cd "$INSTALL_DIR" -- 2.49.0