目标服务器需满足最低配置:8核16G内存,存储预留空间为源数据总容量的1.5倍以上,操作系统统一为CentOS7.9/Ubuntu22.04,提前关闭SELinux,开放22、80、3306端口。
必须先停止源系统所有写入操作再执行备份,执行以下命令完成备份与校验:
``` 打包源档案实体文件 tar -zcvf /backup/archive_source_$(date +%Y%m%d).tar.gz /opt/archive_data 生成备份文件MD5校验值 md5sum /backup/archive_source_.tar.gz > /backup/source_backup_md5.txt 导出源库元数据(将[密码]替换为你的MySQL root密码) mysqldump -u root -p[密码] archive_db > /backup/archive_metadata.sql ```yum install -y rsync,Ubuntu执行apt install -y rsyncyum install -y ImageMagick,Ubuntu执行apt install -y imagemagick打开DMT工具,导入导出的archive_metadata.sql文件,选择《数字档案馆建设指南》预设校验规则,一键检测。必须100%整改完成档号重复、题名缺失、存储路径非法等问题后,再进入下一步。
执行以下命令统计源端文件总数,与元数据库中archive_file表的total_count字段值对比,误差必须为0:
``` find /opt/archive_data -type f | wc -l ```随机抽查10%的不同类型档案(文书、照片、音视频),确认可正常打开无损坏。
在源服务器执行以下rsync命令同步实体文件到目标服务器,注意命令末尾的斜杠不可省略,否则会多生成一层目录:
``` 将[目标服务器IP]替换为实际IP,输入目标服务器root密码即可开始同步 rsync -avzP --checksum /opt/archive_data/ root@[目标服务器IP]:/opt/archive_target/ ```参数说明:-a保留文件权限与属性,-v显示同步进度,-z压缩传输降低带宽占用,-P支持断点续传,--checksum基于文件内容校验避免传输错误。
全量同步完成后,临时关闭源系统所有用户的上传、修改、删除权限,再次执行上述rsync命令完成增量数据同步,确保无新增数据遗漏。

将源端导出的archive_metadata.sql传到目标服务器,执行以下命令导入元数据:
``` 将[目标库密码]替换为目标MySQL的root密码 mysql -u root -p[目标库密码] archive_target < /root/archive_metadata.sql ```若为跨数据库迁移(如MySQL迁达梦),使用达梦DTS迁移工具,字段映射规则直接复用以下配置:档号→varchar(50),题名→varchar(200),存储路径→varchar(200),归档时间→datetime,密级→varchar(10)。
分别在源端、目标端执行以下命令生成所有文件的MD5校验清单:
``` 源端执行 find /opt/archive_data -type f -exec md5sum {} \; > /backup/source_file_md5.txt 目标端执行 find /opt/archive_target -type f -exec md5sum {} \; > /backup/target_file_md5.txt ```将源端的source_file_md5.txt传到目标端,执行diff /backup/source_file_md5.txt /backup/target_file_md5.txt,无任何输出则代表文件100%一致,有输出的文件单独重传即可。
安装压测工具ab:CentOS执行yum install -y httpd-tools,执行压测命令:
要求请求成功率100%,平均响应时间≤200ms,满足业务使用需求。
所有校验通过后,将业务域名解析指向目标服务器,或修改前端配置的接口地址为目标系统地址,开放所有用户访问权限。源服务器需保留至少7天的全量备份,确认无问题后再下线。
telnet [目标IP] 22检查端口是否开放,不通则执行firewall-cmd --add-port=22/tcp --permanent && firewall-cmd --reload开放端口;配置ssh免密登录执行ssh-keygen && ssh-copy-id root@[目标IP]即可解决权限报错。show variables like '%character%';检查目标库字符集,若不是utf8mb4,修改/etc/my.cnf配置为以下内容后重启MySQL即可:
```
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
```
convert --version确认ImageMagick安装正常;若路径不匹配,执行SQL批量更新:update archive_file set path = replace(path,'/opt/archive_data/','/opt/archive_target/');即可。回滚方案:若迁移过程中出现不可修复的问题,立即恢复源系统的写入权限,用提前备份的全量包恢复源数据,排查问题后再重新启动迁移流程。