chore: 导入旧记忆备份供恢复

This commit is contained in:
2026-09-23 22:38:40 +08:00
parent 5313fcee7a
commit 6a6a895eaf
638 changed files with 29816 additions and 1 deletions
@@ -0,0 +1,52 @@
---
title: Checkpoint 2026-09-19 18:59:41 UTC [5820f40be0]
type: checkpoint
permalink: main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/checkpoint-2026-09-19-18-59-41-utc-5820f40be0
stable_id: da61a1a1-0b56-4404-84ad-50413532a1ed
scope: project
memory_type: checkpoint
project_id: d44c219a-0b31-4de1-b160-323eb34a4c6a
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
status: active
revision: 1
request_id: artveris-20260920-production-c5c0168
created_at: '2026-09-19T18:59:41.651548+00:00'
updated_at: '2026-09-19T18:59:41.651548+00:00'
tags:
- production
- deployment
- backup
- pm2
- handoff
- verified
---
# Artveris 正式环境升级完成(用户明确授权)
## 当前版本与运行状态
- 2026-09-20 Asia/Shanghai 02:51:20—02:51:31 完成约11秒切换,正式 https://art.qclh.xyz 已部署 main/dev 提交 c5c0168e4cc5aae28f802b69dd60ae1dd9bbb0d4,包含消费者按需证书、进度弹窗、短文本及此前全部改动。
- 正式目录 /www/wwwroot/artveris,PM2 项目 server,Node /www/server/nodejs/v24.18.0/bin/node,production、fork单实例、autorestart=true、watch=false。核验时PID247323,运行超过7分钟无异常重启(restart_time=0)。pm2 save已成功;pm2-root systemd启动服务enabled/active,dump中的脚本路径与生产环境变量已验证。
- 本地当前dev,与origin/dev一致,main也同一提交,工作区干净。本次没有新的代码改动提交。之前“未部署线上”的检查点已由本次部署状态替代。
## 如何保障数据
- 先只读核对实际PM2目录、数据库MySQL5.7.40、迁移状态、依赖版本和空闲空间。原4条迁移checksum与新包一致,19项后台任务均SUCCESS,5701条凭据均ONCHAIN,没有正在处理的业务任务。
- 从main git archive制作隔离源码,在独立Docker生产builder编译,用现有build.py的打包函数生成非Docker升级包;未在本地watch容器中运行生产构建。升级包不含.env、媒体或生产配置。
- 在服务器独立目录提前安装生产依赖和生成Prisma客户端,验证sharp/Prisma可加载,生产服务继续在线。
- 原代码连完整node_modules/.env、PM2运行/启动dump、项目Nginx配置先备份。停Artveris后再导出最终数据库、storage与backups,然后移动新旧代码目录;保持根.env、storage、backups、ecosystem及宝塔绑定不变。未重启或修改其他服务、MySQL、Redis、Nginx或PM2守护进程。
- 应用3条新增迁移(证书字段、移除旧每日限额、移除旧开关),数据库共7条迁移成功。切换前后比较24张业务表所有原字段的有序行SHA256以及文件清单:一致;46个媒体文件、.env、ecosystem、Nginx哈希一致。数据包括作品记录7、追溯码6698、凭据5701、查询记录483、用户1。
## 备份和回滚
- 服务器受保护目录 /www/upgrade/artveris-c5c0168-20260920/backup/(目录700、备份文件600)。最终database-final.sql.gz、media-and-backups.tar.gz、code-and-config.tar.gz、SHA256SUMS、snapshot-before/after.json、PM2和Nginx快照。
- previous/保留可直接恢复的上版代码与完整依赖,不需要联网重新安装。rollback-code.sh位于该升级目录根;仅核对当前c5c0168版本后人工执行,不要在正常状态运行。
- 本次迁移向后兼容,代码回滚保留数据库新增列和升级后数据,不自动回灌旧库造成数据丢失。完整SQL备份另外保留供灾难恢复。
- 核心备份另外下载到本机E:/code/artveris/.deploy/production/,SHA256对照服务器全部一致。初次备份在无网络隔离MySQL容器恢复并演练迁移通过,最终SQL也再单独恢复成功(6698/5701/483核对)。临时恢复容器及明文中间SQL已清理。服务器临时数据库连接凭据client.cnf已清理。
- 升级报告两端均保存:本机.deploy/production/UPGRADE-REPORT.md;服务器升级目录UPGRADE-REPORT.md。脚本/日志/备份不进入Git。
## 上线验证
- 370个部署运行文件匹配发布manifest;公网HTTPS健康、安装状态、前后台及引用静态资源10项检查通过。
- 正式短链正确302到https://art.qclh.xyz/trace,未带入本地127.0.0.1或测试配置;正式tianheEnv=production与接口地址保持原值。
- 只读证书状态接口在线,查询实物返回NONE;5701条原凭据默认NONE,没有自动批量补证,没有主动调用正式付费存证/出证接口。
- 后续以本地dev继续开发;线上升级仍需用户安排。现有scripts/upgrade-remote-steps.sh缺少pipefail、完整媒体备份校验和自动回滚,不能直接把其“压缩包非空/健康200”当作无损验证。本次使用升级目录内经过检查的准备、切换、逐表/逐文件校验和回滚脚本。
## 待办
- 当前升级无未解决故障。等用户线上体验反馈。后续如需验证付费生成,不默认点击正式“查看证书”制造成本,测试优先免费测试环境。