轻量服务器在腾讯云控制台怎么定时自动备份快照?

在腾讯云控制台中,轻量应用服务器(Lighthouse)目前不支持直接通过控制台设置“定时自动备份快照”功能(截至2024年最新版本)。这是与云服务器 CVM 的一个重要区别:Lighthouse 的快照策略是手动触发或按需创建的,官方未提供原生的定时自动快照(如每天/每周自动创建并保留N个)功能。

不过,你可以通过以下两种可行方案实现“定时自动备份快照”


✅ 方案一:使用腾讯云「自动快照策略」(推荐 ✅ —— 仅适用于 Lighthouse 实例挂载的「独立云硬盘」

⚠️ 注意前提:
Lighthouse 实例默认系统盘为高性能云盘(但不可单独配置自动快照);但如果你额外挂载了独立的「云硬盘」(Data Disk),则该云硬盘支持绑定自动快照策略(系统盘不支持)。

✅ 操作步骤:

  1. 登录 腾讯云控制台
  2. 进入 【轻量应用服务器】→ 【云硬盘】(确保你已挂载至少一块「数据盘」)
  3. 找到目标云硬盘 → 点击右侧 【更多】→ 【管理自动快照策略】
  4. 若无策略,点击 【新建自动快照策略】
    • 设置名称、描述
    • 选择执行时间(支持每天多个时间点,如 02:00, 14:00
    • 设置保留个数(如保留最近7个)
    • (可选)设置生效日期范围(起止时间)
  5. 创建后,返回云硬盘列表 → 对该硬盘点击 【绑定策略】,选择刚创建的策略

📌 效果:该数据盘将按策略定时自动创建快照,且自动清理过期快照。

❌ 局限:系统盘无法绑定自动快照策略(腾讯云明确说明:Lighthouse 系统盘暂不支持自动快照)。


✅ 方案二:通过 API + 云函数(SCF)或轻量服务器自身定时任务(Cron)调用快照 API(全盘支持,含系统盘)

这是目前唯一能对 Lighthouse 系统盘实现定时快照的方案,需少量技术操作。

✨ 推荐方式:使用「云函数 SCF + 定时触发器」(免运维、安全、免费额度充足)

步骤概览:
步骤 操作
✅ 1. 获取密钥 在【访问管理 CAM】→【API 密钥管理】创建子账号 SecretId/SecretKey(最小权限:lighthouse:CreateSnapshot, lighthouse:DescribeInstances
✅ 2. 编写快照脚本(Python) 调用 Lighthouse OpenAPI 创建指定实例的快照(支持系统盘)
✅ 3. 部署到云函数 SCF 选择 Python 运行时,上传代码,配置环境变量(SecretId/SecretKey/Region/InstanceId)
✅ 4. 绑定定时触发器 0 2 * * *(每天凌晨2点执行)
✅ 5. (可选)添加清理逻辑 自动删除超过N天的旧快照(避免费用堆积)
📜 示例 Python 代码(SCF 函数体):
# -*- coding: utf8 -*-
import json
import os
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.lighthouse.v20200324 import lighthouse_client, models

def lambda_handler(event, context):
    # 从环境变量读取配置
    secret_id = os.environ["SECRET_ID"]
    secret_key = os.environ["SECRET_KEY"]
    region = os.environ.get("REGION", "ap-guangzhou")
    instance_id = os.environ["INSTANCE_ID"]  # 如 lht-xxxxxx
    disk_type = os.environ.get("DISK_TYPE", "SYSTEM_DISK")  # SYSTEM_DISK or DATA_DISK

    cred = credential.Credential(secret_id, secret_key)
    http_profile = HttpProfile()
    http_profile.endpoint = f"lighthouse.{region}.tencentcloudapi.com"
    client_profile = ClientProfile(http_profile=http_profile)
    client = lighthouse_client.LighthouseClient(cred, region, client_profile)

    req = models.CreateSnapshotRequest()
    req.InstanceId = instance_id
    req.DiskType = disk_type  # 必须指定:SYSTEM_DISK 或 DATA_DISK
    req.SnapshotName = f"auto-{disk_type.lower()}-{context.timestamp[:10]}"

    try:
        resp = client.CreateSnapshot(req)
        print(f"✅ 快照创建成功:{resp.Snapshot.SnapshotId}")
        return {"statusCode": 200, "body": f"Created: {resp.Snapshot.SnapshotId}"}
    except Exception as e:
        print(f"❌ 快照创建失败:{str(e)}")
        raise e

🔧 配置建议:

  • 环境变量:SECRET_ID, SECRET_KEY, REGION, INSTANCE_ID, DISK_TYPE
  • 运行内存:128MB 即可,超时设为 30 秒
  • 触发器:定时触发器(Cron 表达式,如 0 0 2 * * * 表示每天 02:00 UTC+8)

✅ 优势:
✔️ 支持系统盘 & 数据盘
✔️ 免服务器维护,按调用计费(每月1M次免费)
✔️ 可扩展:加日志、告警、快照清理等


❌ 不可行的方式(常见误区)

  • ❌ 在 Lighthouse 控制台「实例详情页」找不到“自动快照”开关 → 正确,确实没有
  • ❌ 试图用 CVM 的自动快照策略绑定 Lighthouse 实例 → 不兼容,会报错
  • ❌ 使用轻量服务器内置 Cron 直接调用 API(不推荐):需暴露密钥、维护服务器、存在安全风险

✅ 最佳实践建议(按优先级)

场景 推荐方案
仅需备份数据盘 ✅ 方案一:云硬盘 + 自动快照策略(最简单、原生支持)
必须备份系统盘 + 自动化 ✅ 方案二:云函数 SCF 定时调用 API(安全、可靠、低成本)
临时/测试需求 ⏱️ 手动创建快照(控制台:实例 → 更多 → 创建快照)
生产核心业务 🔐 建议组合:SCF 备份系统盘 + 云硬盘自动快照策略备份数据盘 + 快照生命周期管理

💡 小贴士

  • 快照费用:按实际占用容量(GB/天)计费,删除快照可立即停止计费;
  • 系统盘快照大小 ≈ 实际已写入数据量(非磁盘总容量),合理清理日志可降低成本;
  • 查看快照:控制台 → 【轻量应用服务器】→ 【快照】列表;
  • 腾讯云官方文档参考:
    👉 Lighthouse 快照文档
    👉 自动快照策略(仅数据盘)

如需,我可以为你:

  • 生成完整可部署的 SCF ZIP 包(含依赖)
  • 提供带快照清理(保留最近7个)的增强版代码
  • 输出详细权限策略 JSON(CAM 最小权限模板)
  • 指导如何配置微信/邮件告警(快照失败时通知)

欢迎随时告诉我你的具体需求(如:实例地域、是否已挂载数据盘、是否熟悉 Python/SCF),我可为你定制操作指南 👇