外观
3.1 打包与完整性校验
约 444 字
迁移步骤
本页对应「三、操作步骤」的 3.1,完成打包与完整性校验。返回上级:站点迁移操作说明。
前置条件
- 已进入变更窗口,旧环境可短暂停机或只读。
- 备份目录剩余空间为数据量的 2 倍以上。
- 数据库备份账号可用,凭据文件权限为 600。
操作步骤
- 进入维护状态,停止写入。
sudo systemctl stop axis-api
systemctl is-active axis-api- 导出数据库并压缩。
STAMP=$(date +%Y%m%d%H%M)
mysqldump --defaults-extra-file=/srv/axis/scripts/.my.cnf \
--single-transaction --quick --routines --triggers \
axis | gzip -9 > /srv/axis/backup/axis-db-$STAMP.sql.gz
echo "stamp=$STAMP"- 打包站点文件,排除备份、日志与依赖目录。
tar -czf /srv/axis/backup/axis-files-$STAMP.tar.gz \
--exclude='backup' --exclude='logs' --exclude='www/releases/*/node_modules' \
-C /srv/axis www scripts
ls -lh /srv/axis/backup/axis-files-$STAMP.tar.gz- 生成校验清单并立即复核。
cd /srv/axis/backup
sha256sum axis-db-$STAMP.sql.gz axis-files-$STAMP.tar.gz > manifest-$STAMP.sha256
sha256sum -c manifest-$STAMP.sha256- 记录环境信息,作为新机部署依据。
{ uname -a; nginx -v; mysql --version; dpkg -l | wc -l; } > /srv/axis/backup/env-$STAMP.txt
cat /srv/axis/backup/env-$STAMP.txt结果确认
sha256sum -c全部 OK,两个压缩包大小与数据量量级相符。tar -tzf能列出文件列表,末尾无Unexpected EOF。- 数据库导出文件通过
gzip -t校验。 - env 文件记录了内核、Nginx、数据库版本与包数量。
注意事项
- 打包前必须停止写入,否则数据库与文件可能处于不一致状态。
- 排除 node_modules 与缓存可显著减小包体,但新机需重新安装依赖。
- 校验清单与压缩包分开存放一份,防止单盘故障导致同时丢失。
- 记录 STAMP 值,后续传输与解包命令都要使用同一个时间戳。