From 83aa09c9a1b50cf4f9abb7a9e65957cf31bf0bef Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 30 Aug 2026 14:01:07 +0000 Subject: [PATCH] fix: keep installer log outside protected directory --- install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index 51960c9..a606dc1 100644 --- a/install.sh +++ b/install.sh @@ -60,8 +60,8 @@ write_probe="$INSTALL_DIR/xymediavault-write-probe-$$" if ! touch "$write_probe" || ! rm -f "$write_probe"; then die "安装目录不可写:$INSTALL_DIR;请使用 --install-dir 指定本机可写目录,例如 /opt/xymediavault" fi -INSTALL_LOG="$INSTALL_DIR/install.log" -: >"$INSTALL_LOG" +INSTALL_LOG="${TMPDIR:-/tmp}/xymediavault-install-$$.log" +: >"$INSTALL_LOG" || die "无法创建临时安装日志:$INSTALL_LOG" chmod 600 "$INSTALL_LOG" chmod 700 "$INSTALL_DIR/secrets" if [[ -n $PG_PASSWORD_FILE ]]; then @@ -202,7 +202,7 @@ if (( EXISTING_DB )); then export XYMEDIA_EXTERNAL_MIGRATION_CONFIRM=YES; run_lo progress '启动 XyMediaVault 服务' run_logged "${COMPOSE[@]}" --project-directory "$INSTALL_DIR" --env-file "$INSTALL_DIR/.env" -f "$INSTALL_DIR/compose.yaml" up -d app || die 'XyMediaVault 启动失败' for elapsed in $(seq 0 118 2); do - curl --fail --silent "http://127.0.0.1:$API_PORT/api/health" >/dev/null && { printf '\033[2K\r[%d/%d] 安装完成:XyMediaVault 已就绪\n' "$TOTAL_STEPS" "$TOTAL_STEPS"; printf '管理地址:http://127.0.0.1:%s\n安装日志:%s\n' "$API_PORT" "$INSTALL_LOG"; exit 0; } + curl --fail --silent "http://127.0.0.1:$API_PORT/api/health" >/dev/null && { cp "$INSTALL_LOG" "$INSTALL_DIR/install.log" 2>/dev/null || true; printf '\033[2K\r[%d/%d] 安装完成:XyMediaVault 已就绪\n' "$TOTAL_STEPS" "$TOTAL_STEPS"; printf '管理地址:http://127.0.0.1:%s\n安装日志:%s\n' "$API_PORT" "$INSTALL_LOG"; exit 0; } printf '\033[2K\r[%d/%d] 等待 XyMediaVault 健康检查(%s 秒)' "$STEP" "$TOTAL_STEPS" "$elapsed" sleep 2 done