在无法进入宝塔面板界面的情况下,仍然可以通过服务器的命令行(SSH)手动备份网站文件和MySQL数据库。以下是详细的操作步骤:
✅ 一、前提条件
确保你有以下权限:
- 可通过 SSH 登录服务器(如使用 root 用户)
- 知道 MySQL 的 root 密码(或能通过
skip-grant-tables方式重置)
🔧 二、备份网站文件
宝塔的网站文件默认存放在 /www/wwwroot/ 目录下。
1. 查看网站目录结构
ls /www/wwwroot/
你会看到类似 example.com、test.com 这样的文件夹,每个对应一个网站。
2. 打包网站文件进行备份
以备份 example.com 为例:
cd /www/backup/site
mkdir -p /www/backup/site
tar -zcvf /www/backup/site/example.com_$(date +%Y%m%d_%H%M%S).tar.gz /www/wwwroot/example.com
备份文件将保存在
/www/backup/site/下,带时间戳。
🗄️ 三、备份 MySQL 数据库
方法一:使用 mysqldump 命令(推荐)
1. 获取 MySQL root 密码
宝塔的 MySQL 密码通常保存在配置文件中:
cat /www/server/panel/default.pl
这会显示面板登录密码,但不是数据库密码。
查看数据库密码:
cat /www/server/data/mysql_root_pwd.pl
如果没有这个文件,可以尝试:
grep 'password' /www/server/panel/config.json
或者直接使用本地 socket 免密登录(如果当前是 root 用户):
mysql -uroot -p
输入你在安装宝塔时设置的 MySQL 密码。
2. 查看所有数据库
mysql -uroot -p -e "SHOW DATABASES;"
3. 备份单个数据库
mysqldump -uroot -p --single-transaction --routines --triggers --databases your_db_name > /www/backup/mysql/your_db_name_$(date +%Y%m%d_%H%M%S).sql
4. 备份所有数据库
mkdir -p /www/backup/mysql
mysqldump -uroot -p --single-transaction --routines --triggers --all-databases > /www/backup/mysql/all_databases_$(date +%Y%m%d_%H%M%S).sql
⚠️ 输入命令后会提示你输入 MySQL 的 root 密码。
📦 四、打包并下载备份文件(可选)
1. 将所有备份打包
cd /www/backup
tar -zcvf backup_all_$(date +%Y%m%d_%H%M%S).tar.gz site/ mysql/
2. 使用 SCP 或 SFTP 下载到本地
从你的本地电脑执行(非服务器上):
scp root@your_server_ip:/www/backup/backup_all_*.tar.gz ./backup/
或使用工具如 WinSCP、FileZilla 等通过 SFTP 连接下载 /www/backup/ 中的文件。
💡 五、额外建议
1. 检查宝塔服务是否运行
bt
然后选择:
- 重启面板:
8 - 查看状态:
16
可能只是面板卡住,重启即可恢复访问。
2. 防火墙/端口问题
确认服务器防火墙(安全组)放行了宝塔端口(默认 8888):
firewall-cmd --list-ports | grep 8888
如未开放:
firewall-cmd --permanent --add-port=8888/tcp
firewall-cmd --reload
✅ 总结:关键命令汇总
# 创建备份目录
mkdir -p /www/backup/site /www/backup/mysql
# 备份网站
tar -zcvf /www/backup/site/site_$(date +%Y%m%d_%H%M%S).tar.gz /www/wwwroot/
# 备份数据库(输入密码)
mysqldump -uroot -p --all-databases > /www/backup/mysql/all_$(date +%Y%m%d_%H%M%S).sql
# 打包所有备份
tar -zcvf /www/backup/backup_$(date +%Y%m%d_%H%M%S).tar.gz /www/backup/
# (本地执行)下载备份
scp root@your_server_ip:/www/backup/backup_*.tar.gz ./
如有进一步问题(例如忘记 MySQL 密码),也可以告诉我,我可以提供重置密码的方法。
云小栈