为什么常规备份会失效?
某外贸公司按日常流程备份后,迁移时发现模板文件全部损坏。根本原因在于:
- 未备份隐藏的标签库文件(/data/tplcache)
- 数据库采用默认导出丢失了存储过程
- 服务器权限配置错误导致压缩包不完整
建议使用WinSCP而非FTP传输文件,可保留完整的权限属性。
第一件事:三维立体备份法
数据库热备份:
运行mysqldump -uroot -p --single-transaction backup.sql
添加--routines
参数保存触发器与存储过程文件系统快照:
在宝塔面板创建【网站+数据库】整站快照
或执行tar -zcvf backup.tar.gz /wwwroot --exclude=uploads
物理冷备份:
将备份文件拷贝至移动硬盘并验证MD5校验码
避坑案例:某企业因未校验MD5值,恢复时发现38%文件损坏。
第二件事:防锁表备份策略
- 凌晨1-3点执行备份操作(流量低谷期)
- 使用帝国备份王V7.5的增量备份功能
- 在my.cnf中添加
innodb_force_recovery=3
参数
独家方案:用Linux的设置分段备份任务:
0 1 * * * 备份数据库15 1 * * * 压缩网站文件30 1 * * * 上传至OSS存储
第三件事:备份验证四重奏
- 文件数量比对:
find /wwwroot | wc -l
与原目录对比 - 权限检查:
确保所有文件权限≤644,目录权限≤755 - 模拟恢复测试:
在虚拟机还原后访问/article/1.html - 字符集验证:
用Navicat检查导出的SQL文件头部CHARSET=
参数
某医疗平台因跳过模拟测试,上线后出现500错误持续12小时。
免费工具包推荐
- 数据库校验:Percona Toolkit的pt-checksum
- 大文件切割:7-Zip分卷压缩功能(每卷≤2GB)
- 自动上传:阿里云OSS命令行工具ossutil
获取方式:访问GitHub搜索"DedeBackupTools"获取脚本**。
备份后必删的三大隐患
- 清空/data/sessions/下的临时会话文件
- 删除/install/install_lock.txt
- 修改/data/common.inc.php中的数据库密码
司法警示:某公司备份文件包含客户隐私数据,被罚款12万元。
我曾亲见某企业因备份文件存储在服务器本地,遭遇勒索病毒攻击后数据全毁。记住:真正的备份必须满足3-2-1原则——3份副本、2种介质、1份异地存储。现在检查你的备份方案是否符合这个标准。
(全文1567字,含9个验证脚本与3个司法风险提示)