数据备份与恢复建议
服务器稳定运行时,很多用户不会特别关注备份。等到误删文件、系统重装、数据库损坏、磁盘异常、网站被挂马时,才发现没有可用备份。这类问题一旦发生,处理难度往往比服务器配置更高。因为服务器可以重装,环境可以重新搭,但业务数据丢了,很多时候很难完整恢复。所以备份不是“有空再做”,而是正式业务上线前就应该安排好的事情。
哪些数据真正需要备份
不同业务备份内容不一样,但常见的核心数据包括:网站文件;数据库;上传图片和附件;程序配置文件;SSL 证书和私钥(如果备份内容包含 SSL 证书和私钥,也可以查看《Nginx 安装 SSL 证书说明》了解证书文件的使用场景。);Nginx、Apache、PHP 配置;定时任务;业务系统导出文件;重要日志。只备份网站文件,不备份数据库,网站内容可能恢复不回来。只备份数据库,不备份上传目录,图片、附件、合同、资料可能丢失。只把备份放在服务器本机,也不算稳妥备份。
做这些操作前,先备份
有些操作一旦执行,恢复成本很高。操作前一定要确认备份是否完整:系统重装;网站程序升级;数据库升级;宝塔面板升级;修改 Nginx 配置(如果你准备修改 SSH、防火墙、Nginx 或面板配置,可以参考《Linux 服务器基础安全设置》。);删除大文件;迁移网站;更换硬盘;调整分区;处理木马文件。
尤其是系统重装和硬盘相关操作,必须谨慎。不要在没有确认备份的情况下,让客服或技术人员直接处理。如果服务器内有重要数据,提交工单时要明确说明:“服务器内有重要数据,操作前请先确认风险。”如果准备重装系统,请先阅读《系统重装前注意事项》,确认数据、环境和业务停机风险。
备份最好不要只放在同一台服务器
很多用户会在服务器里打一个压缩包,觉得这就是备份。短期临时操作可以这样做,但长期来看风险不够低。如果服务器磁盘异常、系统被入侵、误删目录、重装系统,同机备份可能一起受影响。更合理的做法是:服务器本地保留一份短期备份;定期下载到本地电脑或企业网盘;重要业务做异地备份;数据库按业务频率定时备份;保留多个时间点,不要只保留最新一份。如果是电商、会员系统、客户资料、订单系统这类业务,备份频率要更高。一天更新很多数据的系统,不能只做一周一次备份。Windows 服务器远程异常时,也应先确认数据情况,再参考《Windows 服务器远程连接说明》排查登录问题。
有备份,也要确认能不能恢复
备份文件存在,不代表一定能恢复。常见问题包括:压缩包损坏;数据库导出不完整;备份时间太旧;缺少上传目录;数据库版本不兼容;恢复后路径不一致;程序配置没有备份;证书或密钥丢失。建议定期抽查备份文件,尤其是数据库备份。重要业务最好做一次恢复测试,确认真的能用。
恢复数据前要先想清楚
恢复数据不是简单地“覆盖回去”。恢复前要确认:恢复哪个时间点;是否会覆盖当前数据;当前新增数据是否需要保留;数据库版本是否一致;网站程序版本是否匹配;域名、路径、权限是否需要重新配置。如果当前网站还在产生新订单、新会员、新内容,不建议随便覆盖数据库。否则可能把最近的数据覆盖掉。
SellBGP 能协助什么
SellBGP 可以根据实际情况协助用户确认服务器状态、系统环境、磁盘情况、网络状态等基础问题,也可以在用户明确授权和确认风险后,协助进行部分运维操作。但服务器内的网站文件、数据库、业务程序、用户上传资料,原则上应由用户自行负责备份和管理。如果需要协助恢复或排查数据问题,提交工单时建议说明:服务器 IP;数据类型;备份文件位置;备份时间;出问题前做过什么操作;是否允许覆盖现有数据;是否接受相关风险。数据问题不要只写“帮我恢复一下”。恢复能不能做、怎么做、会不会覆盖现有数据,都需要先确认清楚。