数据备份与版本更新
手动或按计划备份数据库,下载并恢复备份,然后将 LDPage 更新到新版本、管理许可证并开启自动更新。
何时使用备份与更新#
“备份”标签页(管理 › 设置 › 备份 Sao lưu,位于“运维”组)可立即或按计划创建 PostgreSQL 数据库备份,限制保留份数,并可下载 .sql.gz 文件。这些备份不包含源代码和存放在 MinIO 中的图片文件。“版本更新”页面(管理 › Cập nhật phiên bản)用于检查新版本、更新源代码、回退到旧版本并管理许可证密钥。
1. 创建并下载备份#
- 1
打开 管理 › 设置,在“运维”组中选择“备份”(Sao lưu)。顶部四张卡片显示备份数量(最多保留几份、已固定几份)、占用空间与磁盘剩余空间、最近一次备份以及自动计划的下次运行时间。
- 2
在“数据库备份”面板中点击“立即备份”(Sao lưu ngay)。新备份依次显示“等待中”“运行中”,然后是“完成”(或“失败”)。“时间”列显示“手动”及操作人名称,或“自动”。
- 3
点击行末的下载图标即可“下载(.sql.gz)”。按提示重新输入密码;下载链接只能在 60 秒内使用一次。
- 4
每行的“…”菜单包括:“固定(不自动删除)”用于永久保留重要备份(该行显示黄色星标)、“取消固定”、“通过 Telegram 发送”、“复制 SHA-256”用于核对已下载文件,以及“删除”(从服务器永久删除)。正在运行的备份暂时无法删除。
2. 自动备份与通过 Telegram 发送文件#
- 1
在“自动备份”(Sao lưu tự động)面板中打开“启用定时备份”(Bật sao lưu theo lịch)。
- 2
选择频率(Tần suất):每隔几小时(选择 1、2、3、4、6、8 或 12 小时的周期)、每天,或每周(还需选择星期几)。在“时间”(Lúc)中设置运行时间,默认 02:00。计划按 设置 › 通用 中的时区运行,时区显示在下方。
- 3
最多保留份数:1 到 100(默认 7)。更早的备份会自动删除,已固定的除外。
- 4
如需在服务器之外保留副本,打开“通过 Telegram 发送文件”(Gửi file qua Telegram):每次自动备份成功后,文件会通过 Telegram 机器人发送。“接收文件的 Chat ID”留空时使用“连接”标签页中机器人的 Chat ID。
- 5
点击“保存”(Lưu)。开启文件发送或更改接收 Chat ID 时需要重新输入密码。
3. 恢复数据#
服务器上的文件使用 AES-256 加密、随机命名,且没有公开链接。从管理区下载的 .sql.gz 文件已解密,可直接用于恢复。展开“安全”面板中的“恢复方法”可查看示例命令。
- 1
将 .sql.gz 文件复制到服务器,进入 LDPage 源代码根目录。
- 2
运行 ./infra/docker/restore-db.sh <文件名>.sql.gz。该命令会覆盖当前数据库,因此运行前请先再创建一份新备份。
- 3
如果 PostgreSQL 不在 Docker 中运行,可使用 gunzip -c <文件名>.sql.gz | psql -h HOST -U USER -d DB 恢复。
- 4
如需同时备份数据库和 MinIO 中的图片文件,请在服务器上运行 ./infra/docker/backup.sh ./backups(生成 .tar.gz 文件),并用 ./infra/docker/restore.sh 恢复。建议用 cron 每天运行 backup.sh,并把文件同步到另一台服务器。
4. 更新版本#
- 1
打开 管理 › 版本更新(Cập nhật phiên bản)。“当前运行版本”卡片显示版本号、“最新”或“有可用更新”标签以及最近检查时间。点击“重新检查”(Kiểm tra lại)立即向发布服务器查询。有新版本时,管理区顶部栏也会显示“新版本 vX”标签。
- 2
阅读“更新内容”(Có gì mới)了解新版本的变化。
- 3
点击“立即更新”(Cập nhật ngay)并确认。系统会先备份数据库;重启时网站可能中断几秒钟。进度依次为:正在下载更新包、正在解压、正在备份数据库、正在安装依赖、正在构建、正在更新数据库、正在切换到新版本、正在重启、更新完成。
- 4
更新期间可以关闭页面,更新仍会在服务器上继续进行。如果提示“更新失败”,请打开随附的日志和备份进行检查。
- 5
一键更新仅在 LDPage 通过 PM2 运行时可用。否则页面会提示此安装无法自动更新:点击“下载包”(Tải gói)获取 zip 文件,然后在服务器上运行 apply-update.sh(bash apply-update.sh --zip <zip 文件路径>)。
- 6
“版本历史”列出最近的发布版本。点击“回退”(Quay về)可回到旧版本:只回退源代码,不回退数据库,并且会关闭自动更新。
5. 许可证与自动更新#
- 1
“许可证”(Giấy phép)卡片显示状态(有效、已过期、已暂停、无效)、产品、许可证持有人、邮箱、服务编号、有效期(永久或剩余天数)以及授权域名。
- 2
如需更换密钥,展开“更换许可证密钥”(Thay khoá giấy phép),粘贴新密钥后点击“保存”。密钥加密保存,之后不再显示。
- 3
打开“自动更新”(Tự động cập nhật),系统每 30 分钟检查一次新版本并自动应用。仅在使用 PM2 安装时运行;每个版本最多尝试 3 次,超过后页面会提示您手动更新。
- 4
如果尚未输入许可证、许可证被拒绝或无法验证,整个 /admin 区域会被“激活许可证”界面取代。所有者输入许可证密钥后点击“激活”(Kích hoạt)或“重新检查”;员工只会看到请联系所有者的提示。客户区和已发布的落地页不受影响。
注意事项#
- 1
备份与网站位于同一台服务器;请下载重要备份,或使用“通过 Telegram 发送文件”在别处保留副本。
- 2
在 Telegram 机器人(“连接”标签页)中启用“自动备份失败”事件,以便定时备份失败时立即收到通知。
- 3
回退版本不会恢复数据库。如果新版本更改了数据结构,请使用更新前创建的备份进行恢复。
- 4
切勿在生产服务器上运行删除或重置数据库的命令;restore-db.sh 和 restore.sh 都会覆盖当前数据。