2024年夏天,武清区一家做了6年的外贸公司,服务器硬盘突然坏了。IT人员去查备份,发现备份脚本配了但从来没跑成功过——因为路径写错了。6年的客户数据、报价记录、合同文件,全没了。老板当场就懵了,后来花了8万块找数据恢复公司,只找回不到40%。这事儿在天津的企业圈传开后,不少老板才开始重视备份。
备份到底备什么
很多人理解的备份就是拷一份网站文件,其实不够。完整的备份应该包括三部分:网站程序文件、数据库数据、服务器配置文件。天津红桥区一家做在线教育的平台,每次备份只导出数据库,有一次网站被入侵,程序文件被篡改需要恢复,才发现根本没有代码备份,只能从Git仓库重新拉了一份两周前的版本,中间的更新全丢了。
程序文件包含网站源码和上传的附件;数据库包含用户数据、文章、订单等动态内容;配置文件包括Nginx、PHP配置等。三个都备齐了,换台服务器也能完整恢复。
备份频率怎么定
看数据更新频率。内容型网站,每天更新文章和用户数据的,数据库至少每天备份一次,程序文件每周一次。电商类网站订单实时产生,数据库可以每6小时备份一次,或者用主从复制实时同步。天津和平区一家做社区团购的公司,高峰期每小时产生3000多条订单,他们用了MySQL主从架构,从库实时同步,再加上每6小时一次的全量备份到对象存储,双保险。
别光设备份,要验证备份能不能用。西青区一家做医疗器械的企业,每天自动备份到另一块硬盘,用了两年以为很安全。有一次真需要恢复,发现备份文件虽然每天都在生成,但从半年前开始就是损坏的,硬盘有坏道。从此以后他们每周做一次恢复测试,随机挑一个备份文件解压验证。
3-2-1备份原则
安全圈有个经典的3-2-1原则:3份数据副本,2种存储介质,1份异地存储。听起来麻烦,但对重要数据值得做。天津河北区一家做法律咨询的公司,数据虽然不算大,但都是客户合同和案件资料,丢不得。他们的做法是:服务器本地一份,NAS存储一份,腾讯云COS异地一份。去年11月公司遭遇勒索病毒,本地和NAS都被加密了,最后从云端恢复了全部数据,停业时间不到半天。
异地备份不一定非要用云服务,另一台服务器的不同机房也行。关键是别把鸡蛋放一个篮子里。天津本地的企业可以考虑滨海新区的机房做主站,备份放到其他区域。距离产生安全感,这话放在数据备份上也成立。
备份工具推荐
小网站用宝塔面板自带备份功能就够,设置计划任务自动执行。中等规模应用可以用Restic或BorgBackup,支持增量备份。河东区一家做SaaS的公司用Restic备份到AWS S3,两年下来存储费不到500块。
数据库单独处理。MySQL用mysqldump做逻辑备份,配合xtrabackup做物理备份。备份文件加密后传输,别明文传。天津东丽区一家做支付的公司,备份明文存在FTP上被扫到下载走了,安全意识让人捏把汗。