服务器配置的备份策略怎么定
发布时间:2026-08-07 14:28       
更新时间:2026-08-07 17:03
备份策略的出发点不是"备份什么",而是"丢了能接受丢多少、停多久"。这两个答案定了,周期和保留天数自然就出来了。
按业务等级分三档
核心交易类:订单、支付、用户库,恢复点按分钟算。做法是数据库主从复制保底,再加每日全备配合 binlog(数据库操作日志)做增量,出事最多丢几分钟数据。一般业务类:官网、内容站,每天凌晨全备一次足够。静态展示类:改版时手动备份一次,平时靠代码版本库兜底。
周期与保留的常用参数
数据库全备用 mysqldump(MySQL 自带导出工具):mysqldump -uroot -p --single-transaction --all-databases | gzip > /backup/db_$(date +%F).sql.gz,放进 crontab 每天凌晨三点执行。网站文件用 tar 打包:tar -czf /backup/site_$(date +%F).tar.gz /data/www,同一个思路。保留策略参考"本地 7 天、异地 30 天":本地留最近一周方便快速恢复,更早的传到另一台机器或对象存储。清理用 find /backup -name "db_*.sql.gz" -mtime +30 -delete,同样交给定时任务,不然磁盘早晚被塞满。
备份文件传异地前建议加密,gpg -c /backup/db_2026-01-01.sql.gz 生成加密包,解密口令记在密码管理器里,别和备份文件放同一台服务器。
3-2-1 原则值得记一下:重要数据保 3 份、放在 2 种不同介质、其中 1 份在异地。云服务器快照加手工数据库备份,正好凑齐这两条腿。对象存储的定期同步或跨区域复制,可以稳稳承担异地那一份。
备份必须演练
没恢复过的备份只是心理安慰。每月挑一次,把备份文件在测试机上真实导入:gunzip 解压、mysql 导入、抽查关键表行数,哪一步失败当场修。演练结果记进表格:日期、用时、发现的问题。恢复用时就是真实的业务中断时长,有人问"出事要停多久",这张表才有底气回答。备份文件本身也抽查可读性,随机挑一个用 gzip -t 验证完整性,坏包当场就能发现。
定完策略落成一张表:业务名、备份方式、周期、保留天数、责任人,放进运维文档。策略不落纸面,三个月后没人记得哪台机器是怎么备的。