在宝塔面板(BT Panel)中,备份站点时默认是备份整个网站的所有内容,包括网站根目录下的所有文件、数据库(如果关联了数据库)、SSL证书、配置文件等。但不能直接选择只备份某个特定文件夹。
不过,你可以通过以下几种方式实现“选择性备份文件夹”的目的:
✅ 方法一:使用宝塔的“文件”功能手动备份指定文件夹
- 登录宝塔面板。
- 进入【文件】管理。
- 找到你想要备份的网站目录中的某个文件夹(例如:
/www/wwwroot/your-site/uploads)。 - 右键该文件夹 → 选择【压缩】→ 生成一个
.zip或.tar.gz压缩包。 - 将压缩包下载到本地或移动到其他安全位置(如远程备份服务器、OSS、腾讯云COS等)。
这相当于手动“选择性备份”某个文件夹。
✅ 方法二:使用计划任务(Shell脚本)自动备份指定目录
你可以创建一个自定义的 shell 脚本,只备份你需要的文件夹,并通过宝塔的【计划任务】功能定时执行。
示例脚本:
#!/bin/bash
# 备份指定文件夹
SITE_DIR="/www/wwwroot/your-site/uploads"
BACKUP_DIR="/www/backup/uploads"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="uploads_$DATE.tar.gz"
# 创建备份目录
mkdir -p $BACKUP_DIR
# 执行压缩备份
tar -zcf "$BACKUP_DIR/$BACKUP_FILE" -C "$(dirname $SITE_DIR)" "$(basename $SITE_DIR)"
# 可选:删除7天前的旧备份
find $BACKUP_DIR -name "uploads_*.tar.gz" -mtime +7 -delete
然后在宝塔中:
- 进入【计划任务】。
- 添加任务:
- 类型:Shell 脚本
- 执行周期:如每天凌晨
- 内容:粘贴上面的脚本
✅ 方法三:使用第三方工具或脚本结合 Rclone / COS 等实现远程备份
你可以使用 rclone、s3cmd 等工具,将特定文件夹同步到云存储(如阿里云OSS、腾讯云COS、OneDrive等),实现更灵活的备份策略。
❌ 宝塔原生“站点备份”功能不支持选择子文件夹
当你在【网站】→ 点击某个站点 →【备份】时,宝塔只会提供以下选项:
- 备份整个网站文件(不可选择子目录)
- 备份数据库(可选)
所以无法在图形界面中直接选择只备份某个文件夹。
总结
| 需求 | 是否支持 | 解决方案 |
|---|---|---|
| 备份整个站点 | ✅ 支持 | 使用“站点备份”功能 |
| 备份某个文件夹 | ❌ 不支持直接选择 | 使用【文件压缩】或【自定义脚本】 |
| 自动备份某个目录 | ✅ 可实现 | 使用计划任务 + Shell 脚本 |
如果你有多个关键目录需要定期备份,推荐使用 方法二(计划任务脚本),既灵活又自动化。
需要我帮你写一个具体的备份脚本吗?可以提供路径和需求。
云知识