服务公告

服务公告 > 技术教程 > 服务器迁移前的系统基线快照:脚本与清单

服务器迁移前的系统基线快照:脚本与清单

发布时间:2026-07-14 12:30
## 为什么要先拍基线 迁移最容易翻车的不是数据搬不动,而是搬完之后说不清原来有什么:一个忘掉的定时任务、一条没人记得的内核参数、一处防火墙例外。迁移前把系统状态完整导出成基线文件,迁移后逐项比对,缺什么补什么,这台机器才算真正搬完。 ## 采集清单 软件包列表是第一项,发行版不同命令不同;系统服务与自启状态决定新机器要开哪些服务;内核参数、系统限制、时间同步配置都要留档;定时任务包括全局与各用户的;防火墙规则无论 iptables 还是 nftables 都要导出;还有挂载表、用户与组、网络接口与路由。 ``` rpm -qa | sort > pkg.list systemctl list-unit-files --state=enabled > services.list sysctl -a > sysctl.baseline 2>/dev/null crontab -l > root.cron for u in $(cut -d: -f1 /etc/passwd); do crontab -l -u $u; done > all.cron nft list ruleset > nft.rules ss -tlnp > ports.baseline ip route > route.baseline ``` ## 比对方法 新机器上执行同一组命令生成对应文件,diff 逐项对比。重点核对监听端口清单与自启服务,这两处漏配最直接表现为迁移后服务访问不到。定时任务建议逐条人工确认而非机械全搬,借机清掉僵尸任务是迁移的红利。 ## 收尾归档 基线文件本身就是系统文档,归档进配置库长期留存,下次变更与再迁移都能复用。顺云控制台的快照解决磁盘状态,脚本基线解决配置可读性,两者配合,迁移与回退都有据可依。 基线快照还有几个容易漏掉的采集项:系统时区与语言环境,跨机器不一致会让日志与定时任务表现诡异;内核模块列表与黑名单,自定义驱动忘记重装是新机器网卡异常的常见原因;证书与密钥的存放位置清单,迁移后服务起不来,排查半天发现证书没搬。清单越完整,迁移后的比对越省事。 执行层面建议把采集命令封装成一个脚本,输出统一归档到带日期的目录,脚本本身进版本库。每次迁移前后各跑一次,diff 的结果就是迁移差异报告,交付物清晰可审。顺带的习惯是基线脚本定期在存量机器上重跑,配置漂移被发现的机会就从靠碰运气变成按期巡检。