在宝塔面板(BT Panel)重新安装前,为了确保网站能完整恢复并正常运行,你需要根据备份策略选择“手动备份”或“使用宝塔自带工具”。以下是必须备份的关键文件、目录及配置清单:
1. 核心网站代码与数据(最重要)
这是网站内容本身,丢失会导致网站无法访问。
- 网站根目录:通常在
/www/wwwroot/下。- 找到你对应的域名文件夹(如
/www/wwwroot/example.com)。 - 包含内容:所有 PHP/HTML/JS/CSS 源码、图片、上传的文件等。
- 找到你对应的域名文件夹(如
- 数据库文件:
- 方法 A(推荐):登录宝塔后台 -> 数据库 -> 点击对应数据库的“导出”,下载
.sql文件。这是最安全的方式。 - 方法 B(物理备份):如果你习惯直接复制文件,需要备份 MySQL 的数据目录。
- 路径通常为:
/www/server/data/(MySQL 5.7+) 或/data/mysql/(旧版本)。 - 需备份整个
mysql或mysql_data文件夹,或者至少备份具体的.ibd和.frm文件(但直接导出 SQL 更稳妥,避免版本不兼容)。
- 方法 A(推荐):登录宝塔后台 -> 数据库 -> 点击对应数据库的“导出”,下载
2. 宝塔面板配置文件
这些文件决定了宝塔自身的运行状态、端口设置以及已安装的软件版本。
- 宝塔主配置文件:
- 路径:
/www/server/panel/data/config.json - 作用:保存了面板的端口、用户名密码哈希、插件列表等信息。
- 路径:
- Nginx/Apache 配置文件:
- 路径:
/www/server/nginx/conf/vhost/ - 作用:保存了域名的反向X_X规则、SSL 证书配置、Rewrite 重写规则等。务必备份整个
vhost文件夹。
- 路径:
- PHP 配置文件:
- 路径:
/www/server/php/[版本号]/etc/php.ini和/www/server/php/[版本号]/php-fpm.conf - 作用:如果自定义过 PHP 扩展或参数,需备份。
- 路径:
- 其他服务配置:
- 如 Redis、MySQL、MongoDB 的配置文件,通常位于
/www/server/[服务名]/conf/目录下。
- 如 Redis、MySQL、MongoDB 的配置文件,通常位于
3. SSL 证书文件
如果你启用了 HTTPS,证书文件必须单独备份,否则重装后无法自动加载。
- 证书文件路径:
- 通常位于:
/www/server/panel/vhost/cert/ - 或者在 Nginx 配置中指定的具体路径。
- 注意:不仅要备份
.crt(证书) 和.key(私钥),还要备份相关的中间证书文件。
- 通常位于:
4. 特殊场景补充
- 定时任务:检查“宝塔面板” -> “计划任务”,如果有自定义脚本,请记录脚本内容和执行频率,因为重装后计划任务通常会重置。
- Docker 容器:如果你使用了 Docker 部署应用,需要备份
docker-compose.yml文件和相关的 Volume 挂载数据。 - 系统环境变量:如果修改过
/etc/profile或/etc/bashrc中的全局变量,建议备份这两个文件。
💡 最佳实践操作建议
为了最大程度减少麻烦,强烈建议按以下步骤操作:
方案一:使用宝塔自带“备份”功能(推荐)
- 打开宝塔面板。
- 进入 网站 菜单,选中你的域名,点击 备份 -> 一键备份(确保勾选了“代码”和“数据库”)。
- 进入 数据库 菜单,对每个数据库进行 导出。
- 将生成的压缩包下载到本地电脑。
注:此方案生成的备份包包含了代码、数据库和配置信息,重装后通过“导入”即可快速还原大部分环境。
方案二:手动全量备份(最保险)
如果你打算彻底重装系统(不仅仅是面板),请使用 tar 命令打包关键目录:
# 1. 备份网站代码
tar -czvf /tmp/wwwroot_backup.tar.gz /www/wwwroot/
# 2. 备份 Nginx 虚拟主机配置
tar -czvf /tmp/nginx_vhost_backup.tar.gz /www/server/nginx/conf/vhost/
# 3. 备份数据库(先导出再打包,或直接打包 data 目录)
mysqldump -uroot -p --all-databases > /tmp/all_databases.sql
# 4. 备份宝塔配置
tar -czvf /tmp/bt_config_backup.tar.gz /www/server/panel/data/ /www/server/panel/config.json
⚠️ 重要提示
- 不要只备份文件,要记得密码:MySQL 的 root 密码、FTP 账号密码、SSH 密钥等,如果记不住,备份文件也无法恢复权限。
- 版本兼容性:如果你的宝塔面板版本跨度较大(例如从 v7 升级到 v8,或重装时选择了不同的 PHP/MySQL 版本),部分旧的配置文件可能无法直接使用,建议优先使用“导出 SQL"和“手动重建配置”的方式。
- 测试环境:如果条件允许,先在另一台服务器或虚拟机上尝试还原备份,确认无误后再在生产环境操作。
CLOUD技术笔记