Files
ctbjrj/会员服务器/cmd/upgrade_callback
T
dqb-dev 65755bf520 会员服务器:上传肥牛应用源码 v1.5.1(fnnas.huiyuan 完整 fpk 工程结构)
含 app/server/server.cjs 服务端、app/www 网页(admin/auth/项目云/库备份/settings)、
app/ui 图标、cmd 安装脚本、config、wizard、manifest、图标与对接文档。
按仓库规则排除构建产物 *.fpk 与 .mimosa 缓存。
2026-10-02 00:03:20 +08:00

43 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
### 升级完成回调:正常升级不覆盖 TRIM_PKGETC,配置自动延续。此处再校验兜底:
### 若 app.env 因升级异常丢失,从 upgrade_init 在数据目录做的备份恢复,
### 保证其他服务器上的端口/数据目录/管理密码/注册开关等配置全部沿用,绝不被重置。
CFG="${TRIM_PKGETC}/app.env"
DB_DIR="${TRIM_DATA_SHARE_PATHS%%:*}"
if [ -f "${CFG}" ]; then
while IFS='=' read -r k v; do
case "$k" in
HY_DB_DIR) DB_DIR="$v" ;;
esac
done < "${CFG}"
fi
[ -z "${DB_DIR}" ] && DB_DIR="${TRIM_PKGVAR}/files"
BAK="${DB_DIR}/.huiyuan-升级备份"
if [ ! -f "${CFG}" ] && [ -f "${BAK}/app.env" ]; then
mkdir -p "${TRIM_PKGETC}" 2>/dev/null
cp -f "${BAK}/app.env" "${CFG}" 2>/dev/null
for f in tls.key tls.crt huiyuan_rsa.pem; do
[ -f "${BAK}/${f}" ] && cp -f "${BAK}/${f}" "${TRIM_PKGETC}/${f}" 2>/dev/null
done
echo "$(date '+%Y-%m-%d %H:%M:%S') - 升级后检测到配置丢失,已从 ${BAK} 恢复 app.env 与密钥" >> "${TRIM_PKGVAR}/app.log" 2>/dev/null
# 重读恢复出的数据目录,一并恢复数据库(若升级后库文件异常缺失)
while IFS='=' read -r k v; do
case "$k" in
HY_DB_DIR) DB_DIR="$v" ;;
esac
done < "${CFG}"
if [ -f "${BAK}/huiyuan.json" ] && [ ! -f "${DB_DIR}/huiyuan.json" ]; then
cp -f "${BAK}/huiyuan.json" "${DB_DIR}/huiyuan.json" 2>/dev/null
echo "$(date '+%Y-%m-%d %H:%M:%S') - 已从备份恢复数据库 huiyuan.json 到 ${DB_DIR}" >> "${TRIM_PKGVAR}/app.log" 2>/dev/null
fi
fi
echo "$(date '+%Y-%m-%d %H:%M:%S') - upgraded to v${TRIM_APPVER} (from v${TRIM_OLD_APPVER:-unknown}) 配置与数据沿用" >> "${TRIM_PKGVAR}/app.log" 2>/dev/null
exit 0