为什么要备份
- 防止数据丢失(服务器故障、误操作等)
- 便于迁移服务器
- 回滚到之前的状态
需要备份的内容
| 内容 | 位置 | 重要性 |
| 数据库 | MySQL数据库 | ⭐⭐⭐ 最重要 |
| 上传文件 | /uploadfile/ | ⭐⭐ 重要 |
| 配置文件 | /config/ | ⭐⭐ 重要 |
| 授权文件 | /data/ | ⭐⭐ 重要 |
宝塔面板备份
手动备份数据库
- 登录宝塔面板
- 进入"数据库"
- 找到网站数据库,点击"备份"
- 等待备份完成
- 备份文件保存在 /www/backup/database/
手动备份网站文件
- 登录宝塔面板
- 进入"网站"
- 找到网站,点击"备份"
- 等待备份完成
- 备份文件保存在 /www/backup/site/
设置自动备份
- 进入"计划任务"
- 点击"添加任务"
- 选择"备份数据库"或"备份网站"
- 设置执行周期(建议每日凌晨)
- 设置保留份数(建议7份)
- 保存任务
手动备份方法
导出数据库(phpMyAdmin)
- 登录phpMyAdmin
- 选择数据库
- 点击"导出"
- 导出格式选择"SQL"
- 点击"执行"下载SQL文件
导出数据库(命令行)
# 基本导出
mysqldump -u用户名 -p密码 数据库名 > backup.sql
# 压缩导出
mysqldump -u用户名 -p密码 数据库名 | gzip > backup.sql.gz
打包文件
# 打包整个网站目录
tar -czvf website_backup.tar.gz /www/wwwroot/your-domain/
# 只打包重要文件
tar -czvf important_backup.tar.gz config/ data/ uploadfile/
数据恢复
恢复数据库(phpMyAdmin)
- 登录phpMyAdmin
- 选择目标数据库
- 点击"导入"
- 选择备份的SQL文件
- 点击"执行"
恢复数据库(命令行)
# 从SQL文件恢复
mysql -u用户名 -p密码 数据库名 < backup.sql
# 从压缩文件恢复
gunzip < backup.sql.gz | mysql -u用户名 -p密码 数据库名
恢复文件
# 解压备份文件
tar -xzvf website_backup.tar.gz -C /目标目录/
备份建议
- ✅ 数据库每日备份
- ✅ 文件每周备份
- ✅ 重要操作前手动备份
- ✅ 备份文件下载到本地或云存储
- ✅ 定期测试备份文件是否可用
警告:只保存在服务器上的备份可能因服务器故障而丢失,建议定期下载到本地或同步到云存储!