当宝塔面板崩溃(如无法访问 Web 界面、服务异常等)时,仍然可以通过 SSH 登录服务器进行数据备份。以下是详细的操作步骤:
✅ 一、前提条件
-
确保你知道以下信息:
- 服务器公网 IP 地址
- SSH 登录用户名(通常是
root) - SSH 登录密码 或 私钥文件
- SSH 端口(默认是 22,若修改过需使用对应端口)
-
本地工具准备:
- Windows 推荐使用 PuTTY 或 Windows Terminal + SSH
- macOS / Linux 用户可直接使用终端命令:
ssh root@你的服务器IP -p 端口号
✅ 二、通过 SSH 登录服务器
ssh root@你的服务器IP -p 22
输入密码后回车,成功登录后你会看到命令行提示符(如 #)。
✅ 三、定位网站与数据库数据位置(宝塔默认路径)
1. 网站文件目录:
/www/wwwroot/
每个站点通常是一个子目录,例如:
/www/wwwroot/example.com/www/wwwroot/test
2. 数据库文件目录(MySQL/MariaDB):
/www/server/data/
或通过 mysqldump 导出 SQL 文件更安全。
3. 网站配置文件(Nginx/Apache):
/www/server/panel/vhost/nginx/
/www/server/panel/vhost/apache/
4. SSL 证书:
/www/server/panel/vhost/cert/
✅ 四、进行数据备份操作
方法一:打包网站文件并下载(推荐)
-
打包网站目录:
tar -zcvf backup_website.tar.gz /www/wwwroot/ -
打包数据库目录(适用于紧急情况):
tar -zcvf backup_mysql_data.tar.gz /www/server/data/⚠️ 注意:直接复制数据库文件仅适用于同版本 MySQL 且服务停止时才安全。建议用
mysqldump。 -
使用
mysqldump导出数据库(更安全):mysqldump -u root -p --all-databases > all_databases.sql会提示输入 MySQL 密码。
若忘记密码,可尝试查看宝塔数据库配置:
cat /www/server/data/mysql/user.MYD | grep -a password或查看宝塔配置文件:
cat /www/server/panel/data/db.db
✅ 五、将备份文件下载到本地
方式1:使用 SCP(推荐)
在本地终端执行(非服务器上):
scp -P 22 root@你的服务器IP:/root/backup_website.tar.gz ./backup/
这会把服务器上的备份下载到本地 ./backup/ 目录。
方式2:使用 SFTP 工具(如 FileZilla、WinSCP)
- 连接方式:SFTP,协议选 SSH
- 主机:服务器 IP
- 用户名:root
- 密码或密钥
- 端口:22(或自定义 SSH 端口)
连接后,进入 /root/ 或 /www/ 目录,下载你创建的 .tar.gz 或 .sql 文件。
✅ 六、清理与验证
-
验证本地备份完整性:
tar -ztvf backup_website.tar.gz head all_databases.sql -
可选:删除服务器上的临时备份(节省空间):
rm /root/backup_website.tar.gz rm /root/all_databases.sql
✅ 七、后续建议
-
修复宝塔面板:
wget -O update.sh http://download.bt.cn/install/update.sh && bash update.sh或重装面板(注意不要格式化磁盘)。
-
定期备份策略:
- 使用宝塔自带的计划任务备份到第三方(如阿里云 OSS、腾讯云 COS)
- 或编写脚本自动打包上传到远程存储。
❗ 常见问题排查
| 问题 | 解决方法 |
|---|---|
| SSH 连接超时 | 检查防火墙、安全组是否放行 22 端口 |
| 密码错误 | 确认是否为 root 密码,或使用密钥登录 |
| mysqldump 报错 | 检查 MySQL 是否运行:systemctl status mysql |
✅ 总结
即使宝塔面板崩溃,只要 SSH 能登录,就可以:
- 手动打包网站和数据库
- 使用
mysqldump安全导出数据 - 通过 SCP/SFTP 下载到本地
- 实现完整数据备份,避免丢失
如有进一步问题(如忘记 MySQL 密码、服务无法启动),欢迎继续提问。
云小栈