如何备份 / 迁移程序数据?
备份前先确认正在使用 SQLite 还是 MySQL。可在后台仪表盘的运行信息中查看,也可以检查 application.properties 中的 spring.datasource.url。
除数据库外,建议同时备份自定义 application.properties。如果本地存储文件也放在本机或 Docker 映射目录中,需要单独备份这些文件;数据库备份不包含网盘中的实际文件。
SQLite
为避免复制过程中数据库仍在写入,请先停止 ZFile,再复制整个 db 目录,不要只复制其中一个文件。
- Windows 默认目录:
%USERPROFILE%\.zfile-v4\db - Linux 默认目录:
~/.zfile-v4/db - Docker 安装向导默认目录:
/root/zfile-pro/db - Linux 一键脚本:以安装时填写的“数据库及日志目录”为准,默认是执行脚本用户的
~/.zfile-v4/db
Docker 路径指宿主机目录,以实际 docker run -v 或 Compose volumes 左侧路径为准。迁移时将整个目录复制到新服务器对应位置,确认权限正确后再启动 ZFile。
MySQL
使用 MySQL 时,ZFile 的 db 挂载目录不是业务数据库备份。请使用 MySQL 的备份工具:
mysqldump --single-transaction --routines --triggers -u root -p zfile > zfile.sql
恢复到已创建的空数据库:
mysql -u root -p zfile < zfile.sql
如果 MySQL 也由安装向导的 Docker Compose 创建,还应保留 Compose 文件和 MySQL 数据卷配置;跨服务器迁移优先使用 mysqldump,不要在 MySQL 运行时直接复制 /var/lib/mysql。
迁移检查
- 停止旧实例并完成数据库备份。
- 复制
application.properties和本地存储文件。 - 在新实例恢复数据库,确认数据库路径、MySQL 地址和本地存储挂载路径正确。
- 启动后检查用户、存储源、分享和权限数据,再切换域名或流量。
不要让新旧实例同时连接同一个 SQLite 文件。