宝塔备份站点可以选择文件夹吗?

在宝塔面板(BT Panel)中,备份站点时默认是备份整个网站的所有内容,包括网站根目录下的所有文件、数据库(如果关联了数据库)、SSL证书、配置文件等。但不能直接选择只备份某个特定文件夹

不过,你可以通过以下几种方式实现“选择性备份文件夹”的目的:


✅ 方法一:使用宝塔的“文件”功能手动备份指定文件夹

  1. 登录宝塔面板。
  2. 进入【文件】管理。
  3. 找到你想要备份的网站目录中的某个文件夹(例如:/www/wwwroot/your-site/uploads)。
  4. 右键该文件夹 → 选择【压缩】→ 生成一个 .zip.tar.gz 压缩包。
  5. 将压缩包下载到本地或移动到其他安全位置(如远程备份服务器、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

然后在宝塔中:

  1. 进入【计划任务】。
  2. 添加任务:
    • 类型:Shell 脚本
    • 执行周期:如每天凌晨
    • 内容:粘贴上面的脚本

✅ 方法三:使用第三方工具或脚本结合 Rclone / COS 等实现远程备份

你可以使用 rclones3cmd 等工具,将特定文件夹同步到云存储(如阿里云OSS、腾讯云COS、OneDrive等),实现更灵活的备份策略。


❌ 宝塔原生“站点备份”功能不支持选择子文件夹

当你在【网站】→ 点击某个站点 →【备份】时,宝塔只会提供以下选项:

  • 备份整个网站文件(不可选择子目录)
  • 备份数据库(可选)

所以无法在图形界面中直接选择只备份某个文件夹


总结

需求 是否支持 解决方案
备份整个站点 ✅ 支持 使用“站点备份”功能
备份某个文件夹 ❌ 不支持直接选择 使用【文件压缩】或【自定义脚本】
自动备份某个目录 ✅ 可实现 使用计划任务 + Shell 脚本

如果你有多个关键目录需要定期备份,推荐使用 方法二(计划任务脚本),既灵活又自动化。

需要我帮你写一个具体的备份脚本吗?可以提供路径和需求。