奋斗
努力

宝塔设置备份全部网站如何设置排除网站?

云计算

在宝塔面板中,如果你想设置“备份全部网站”但排除某些特定网站,目前宝塔面板的默认备份功能(如计划任务中的“备份所有站点”)不直接支持排除指定网站。但你可以通过以下几种方式实现类似效果:


✅ 方法一:使用自定义脚本备份(推荐)

你可以编写一个 Shell 脚本,自动备份所有网站目录,但跳过你不想备份的网站。

步骤如下:

  1. 登录服务器,创建备份脚本
mkdir -p /www/backup/script
vim /www/backup/script/backup_sites.sh
  1. 编辑脚本内容(示例)
#!/bin/bash

# 备份目录
BACKUP_DIR="/www/backup/sites"
SITE_ROOT="/www/wwwroot"

# 要排除的网站目录(填写文件夹名)
EXCLUDE_SITES=("test.com" "demo.site" "old-project")

# 创建备份目录
mkdir -p "$BACKUP_DIR"

# 时间戳
DATE=$(date +"%Y%m%d_%H%M%S")

# 遍历所有网站目录
for site in "$SITE_ROOT"/*; do
    SITE_NAME=$(basename "$site")

    # 判断是否在排除列表中
    skip=0
    for exclude in "${EXCLUDE_SITES[@]}"; do
        if [ "$SITE_NAME" == "$exclude" ]; then
            skip=1
            break
        fi
    done

    # 跳过被排除的网站
    if [ $skip -eq 1 ]; then
        echo "跳过备份: $SITE_NAME"
        continue
    fi

    # 开始备份
    echo "正在备份: $SITE_NAME"
    tar -zcf "$BACKUP_DIR/${SITE_NAME}_${DATE}.tar.gz" -C "$SITE_ROOT" "$SITE_NAME"
done

echo "备份完成!"
  1. 保存并赋予执行权限
chmod +x /www/backup/script/backup_sites.sh
  1. 在宝塔中添加计划任务
  • 进入宝塔面板 → 计划任务
  • 添加任务:
    • 任务类型:Shell 脚本
    • 执行周期:按需设置(如每天凌晨2点)
    • 命令:
      /bin/bash /www/backup/script/backup_sites.sh

这样就可以实现“备份所有站点但排除指定站点”。


✅ 方法二:手动选择备份(适合站点少)

如果你的网站数量不多,可以直接:

  1. 不使用“备份所有站点”功能。
  2. 在“网站”页面,逐个选中需要备份的站点,然后点击“打包”或“备份”。
  3. 或者在“计划任务”中为每个需要备份的站点单独设置备份任务。

✅ 方法三:利用软链接 + 排除规则(进阶)

将要排除的网站移动到 /www/wwwroot_excluded/ 等非标准目录,并确保它们不在 /www/wwwroot 下,这样“备份所有站点”就不会包含它们。

⚠️ 注意:这会影响网站运行路径,需重新配置站点根目录,操作有风险。


🔔 补充建议

  • 宝塔的“备份所有站点”功能会备份 /www/wwwroot 下的所有目录。
  • 如果某个网站目录暂时不想备份,可以临时重命名或移出 wwwroot(但会影响访问)。
  • 建议配合远程备份(如阿里云OSS、腾讯云COS、FTP等)防止本地数据丢失。

总结

方法 是否支持排除 推荐度
自定义脚本 ✅ 支持 ⭐⭐⭐⭐⭐
手动逐个备份 ✅ 支持 ⭐⭐⭐
移动目录避免备份 ⚠️ 影响运行 ⭐⭐

👉 推荐使用方法一(自定义脚本),灵活、安全、可自动化。

如需,我可以帮你生成完整的脚本并适配你的环境。

未经允许不得转载:云服务器 » 宝塔设置备份全部网站如何设置排除网站?