备份与容灾策略
约 594 字大约 2 分钟
2026-08-30
服务器上的数据面临误删、入侵、系统损坏、误操作重装等多种风险。本文给出一份轻量可执行的备份策略:备份什么、怎么备、放哪里、怎么验证。
备份什么
| 对象 | 内容 | 频率建议 |
|---|---|---|
| 网站目录 | /var/www、站点根目录、宝塔站点目录 | 每日 |
| 数据库 | MySQL 用 mysqldump 导出(见部署MySQL数据库) | 每日 |
| 配置文件 | Nginx、PHP 配置、/etc 下自定义改动、crontab | 每次改动后 |
| 证书与密钥 | SSL 证书、SSH 密钥、应用密钥 | 每次改动后 |
三层备份方式
服务器内定时备份(第一层)
用 Cron 定时任务 每日凌晨打包网站目录并导出数据库:
# 示例:每日 3:00 打包站点并导出数据库 0 3 * * * tar -czf /backup/site_$(date +\%F).tar.gz /var/www && mysqldump -uroot -p'密码' --all-databases | gzip > /backup/db_$(date +\%F).sql.gz 0 4 * * * find /backup -mtime +7 -delete # 保留 7 天异地备份(第二层,最关键)
服务器内的备份在整机故障时同样会丢失。每日用
rsync/scp把/backup拉取到另一台机器或本地电脑,方法见本地与实例间数据传输:# 在本地电脑定时拉取(Windows 可用 WinSCP 脚本化) rsync -avz root@服务器IP:/backup/ /本地备份目录/快照兜底(第三层)
进行高危操作(扩容、重装、大版本升级)前,在控制面板对磁盘创建快照,出问题可整体回滚,以面板实际功能为准。
恢复演练
没验证过的备份等于没有备份
每季度至少做一次恢复演练:在测试目录解开备份包、导入数据库到临时库名、确认应用能跑通。备份文件损坏或脚本早已静默失败,是"有备份却救不回来"的两大主因。
高风险操作前的强制动作
以下操作前必须先完成一次完整备份:
- 重装系统(见重装系统说明);
- 申请停用产品(见订购续费与停用);
- 磁盘扩容、分区调整(见Linux数据盘扩容);
- 批量删除、版本升级(框架/数据库大版本)。
误删已发生时的紧急处理见恢复误删文件。
