加油
努力

宝塔面板崩溃后如何通过SSH登录服务器进行数据备份?

当宝塔面板崩溃(如无法访问 Web 界面、服务异常等)时,仍然可以通过 SSH 登录服务器进行数据备份。以下是详细的操作步骤:


✅ 一、前提条件

  1. 确保你知道以下信息:

    • 服务器公网 IP 地址
    • SSH 登录用户名(通常是 root
    • SSH 登录密码 或 私钥文件
    • SSH 端口(默认是 22,若修改过需使用对应端口)
  2. 本地工具准备:

    • 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/

✅ 四、进行数据备份操作

方法一:打包网站文件并下载(推荐)

  1. 打包网站目录:

    tar -zcvf backup_website.tar.gz /www/wwwroot/
  2. 打包数据库目录(适用于紧急情况):

    tar -zcvf backup_mysql_data.tar.gz /www/server/data/

    ⚠️ 注意:直接复制数据库文件仅适用于同版本 MySQL 且服务停止时才安全。建议用 mysqldump

  3. 使用 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 文件。


✅ 六、清理与验证

  1. 验证本地备份完整性:

    tar -ztvf backup_website.tar.gz
    head all_databases.sql
  2. 可选:删除服务器上的临时备份(节省空间):

    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 能登录,就可以:

  1. 手动打包网站和数据库
  2. 使用 mysqldump 安全导出数据
  3. 通过 SCP/SFTP 下载到本地
  4. 实现完整数据备份,避免丢失

如有进一步问题(如忘记 MySQL 密码、服务无法启动),欢迎继续提问。

云服务器