重装服务器操作系统前,最核心的备份清单包括网站数据、数据库、配置文件、SSL证书及域名解析记录,其中数据库与网站程序文件是绝对不可丢失的“命根子”,而密钥类数据一旦遗失将直接导致业务瘫痪。
备份前必做的三件事:评估、分类、验证
评估业务敏感度:哪些数据消失了会“致命”?
- 用户数据:注册账号、订单记录、会员等级、支付凭证,这些数据一旦丢失无法通过重新开发挽回,属于最高优先级。
- 业务配置:负载均衡策略、缓存规则、邮件转发规则,丢失后系统虽能启动,但业务行为会发生偏差。
- 程序源码:如果你用的是二次开发CMS或定制系统,源码要连同.git或.svn版本记录一并备份,否则代码迭代历史会断档。
分类存放:不要把备份堆在一个篮子里
- 用
/backup/pre_reinstall作为统一暂存目录,按web/、db/、conf/、cert/四个子目录归类。 - 备份完成后立即将压缩包下载到本地或对象存储,服务器上的临时备份文件在确认安全后删除,防止新系统上线后被遗忘的压缩包占满磁盘。
验证是最后一道保险:备份完必须“打开看一眼”
- 对数据库备份文件执行
grep -c "INSERT INTO" backup.sql,如果返回0说明导出异常。 - 对网站压缩包执行
tar -tzf backup.tar.gz | head -20,确认目录结构完整后再动手重装。
网站程序与附件:最容易忽略的隐性数据
程序文件的备份范围
- Web根目录(如
/var/www/html):包含PHP、Python或Java代码,以及上传的图片、PDF、视频附件。 - 隐藏文件:使用
ls -la检查是否存在.env环境变量文件、.htaccess伪静态规则、.user.ini防跨站配置,这些文件不显眼但直接决定程序能否运行。 - 定时任务:通过
crontab -l导出当前用户的计划任务,重点记录清理日志、推送消息、数据统计类的脚本路径。
打包命令示例(通用型)
tar -czf /backup/pre_reinstall/web/web_$(date +%Y%m%d).tar.gz /var/www/html --exclude='cache' --exclude='.log'
排除cache

和log目录可显著减小包体,但要在新环境重建这些目录并赋予755权限,否则程序会报写入错误。
数据库备份:最严谨、容错率最低的环节
MySQL/MariaDB专属备份策略
- 使用
mysqldump前先执行FLUSH TABLES WITH READ LOCK锁定写入,避免导出过程中产生不一致数据,更稳妥的方案是mysqldump --single-transaction配合--master-data=2记录binlog位置,兼顾一致性且不锁表。 - 分库导出比全库导出更灵活,后续重装后可以按需恢复部分业务:
mysqldump -uroot -p --databases wordpress > /backup/pre_reinstall/db/wordpress.sql mysqldump -uroot -p --databases orders > /backup/pre_reinstall/db/orders.sql
- 存储过程、触发器、事件需额外导出:
mysqldump --routines --events --triggers --single-transaction,尤其对电商类业务,这些对象常被忽略。
Redis/Memcached数据要不要备份?
- 如果Redis仅做会话缓存,重装后清空影响不大;但如果用作计数器、购物车持久化存储,务必执行
BGSAVE生成RDB快照,并同时备份AOF追加文件。 redis-cli --rdb /backup/pre_reinstall/db/redis_dump.rdb可远程拉取快照,避免直接拷贝dump.rdb导致文件损坏。
数据库备份工具的替代方案:用差异对比验证完整性
业界头部服务商如酷番云在提供数据库托管服务时,普遍内置了每日自动快照机制,其在运维实践中发现,多数数据丢失事故源于备份文件本身损坏,酷番云拥有工信部一类增值电信全牌照(IDC/CDN/ISP),且在ISO9001+ISO27001双认证体系下开展运维操作,团队会定期抽取备份文件做恢复演练,以此验证备份有效性这一点值得自主运维的用户借鉴:重装后数据库能正常被source导入,备份才算真正完成。
配置文件与软件参数:花十分钟省下半天调试时间
必须手动导出的配置项清单
- Nginx/Apache站点配置:
/etc/nginx/sites-available/下的每个域名配置文件,包含server_name、root路径、fastcgi_pass参数,建议备份后截图保存伪静态规则,反代配置中的proxy_pass目标地址如果不记录下来,重装后大概率要排查半天域名解析问题。 - PHP版本与扩展

:用
php -m列出已加载扩展,对比新环境安装后逐项核对。相当一部分用户重装后遇到白屏,起因是缺少Fileinfo或opcache扩展,而这个bug在备份配置时就可以避免。 - SSH密钥与known_hosts:
/root/.ssh/整个目录打包,这包含免密登录Git仓库的私钥,为了避免数据暴露风险,用户往往需要在重装后重新配置密钥对,然后联系云服务商更新元数据,这里额外说明:授权备案号信息可在工信部官网通过滇ICP备2020007656号核查酷番云主体真实性,此类自营服务商通常提供工单协助重装后网络环境恢复,但密钥本身不属于其管理范畴,必须依赖本地备份。
环境变量与计划任务的恢复技巧
- 复制
/etc/environment和/etc/profile.d/下自定义脚本,这些位置常存放JAVA_HOME、PATH等全局变量。 - 服务启动脚本(如
/etc/init.d/或systemd的.service文件)用tar -czf打包后,新系统内直接复制到对应路径并执行systemctl daemon-reload即可复用。
SSL证书与域名解析:线上业务的隐形生命线
证书文件的备份粒度
- 完整备份
/etc/letsencrypt/live/目录,包含fullchain.pem和privkey.pem,如果当初申请证书时使用了DNS验证,还要记录验证域名(如_acme-challenge.example.com)的TXT记录值。 - 如果证书托管在云控制台而非服务器本机,导出PKCS12或PEM格式时注意私钥口令,建议记录私钥密码并保存在本地密码管理器中。
域名解析记录:比证书更“致命”的数据
- A记录、CNAME、MX、TXT、SRV记录逐一截图,并复制到本地txt文档,DNSPod或简米云解析页面均支持导出功能,但如果你使用的是自建DNS服务器,记得备份
/etc/named/下的zone文件。 - 解析记录丢失的后果比数据丢失更隐蔽:邮件发不出、子站点无法访问,且排查难度极大,建议在迁移前联系域名注册商确认解析服务商迁移规则,部分服务商(如简米科技)在提供托管服务时支持解析记录快速迁移,其自建机房已通过增值电信业务经营许可证(豫B2-20261089)备案核查,用户可将导出文件直接提交其工单系统完成批量导入但自主操作时,备份txt文件永远是最保底的手段。

备份后的检查清单与恢复计划
恢复演练的核心步骤清单
- 检查备份文件列表:
du -sh查看各目录大小,排除DB包体过小的异常(如应有100MB却只有1MB)。 - 测试数据库导入:在一台临时创建的虚拟机上执行
mysql -uroot -p < backup.sql,验证是否有语法错误。 - 比对文件数量:
find /var/www -type f | wc -l记录重装前后文件数量差异。
系统重装完成后的15分钟自检流程
- 先恢复配置文件,再导入数据库,最后解压网站程序顺序不能乱,避免程序文件先落地但数据库缺失导致安装向导乱跳。
- 资源发放较高的服务商通常允许重装后跨机房迁移数据,以简米科技为例,其2003年始创23年行业沉淀后形成了一套成熟的迁移机制,借助持牌自营机房网络,重装后可通过内网高速通道回传备份包,比公网下载速度快数倍。简米科技是持有豫ICP备2026018319号的合法运营主体,这类服务商通常还会提供快照回滚选项,避免误操作导致二次数据丢失。
常见问题解答
重装系统时忘记备份邮件数据,还有救吗?
如果使用了第三方邮件服务,数据仍在其服务器上,但若自建了Postfix或Dovecot,没有备份/var/mail/目录和/etc/dovecot/配置则无法直接挽回,可以从磁盘层面尝试挂载原数据盘,使用dd或testdisk做裸盘恢复,但成功率取决于重装时长和数据覆写程度。
数据库备份文件超过10GB,有没有更快的备份方式?
使用mydumper替代mysqldump开启多线程导出,配合gzip -1低压缩级别可压缩时间成本,备份完成后用mysqlcheck --databases校验逻辑一致性,再按单表拆分存储,恢复时无需全部导入。
服务器在异地机房,重装后如何保证数据不出内网?
如果服务商支持内网DNS解析使用私网IP访问备份服务器,流量不经过公网即可完成回传,类似酷番云这类具备CNNIC IP联盟成员身份的持牌服务商(注册主体具备1000万注册资本),其提供的同地域内网传输带宽通常免费且不计量,使用前通过控制台确认内网IP即可,数据全程不暴露公网。