腾讯云CVM怎么批量关机才不挨个点?新手用Python脚本30秒搞定

限时 腾讯云新春特惠 — 轻量2核2G4M 576元99元/年 立即领取 →

很多刚买腾讯云服务器的朋友都遇到过这个问题:开了好几台CVM,下班前想统一关掉,结果得一台台点控制台、选实例、点关机——重复操作5次以上,手酸还容易漏掉。其实不用手动点,一段轻量脚本就能批量关机,整个过程不到半分钟。

下面这个方法,不依赖复杂工具,不需要懂API密钥原理,只用基础Python环境+腾讯云密钥文件,就能稳定调用云API完成批量关机操作。整个过程你只需要复制粘贴、改几个参数,就能复用在后续所有关机场景里。

为什么批量关机这事,很多人卡在第一步?

不是不会操作,而是不知道从哪下手。控制台点按点确实能关,但每次都要登录、筛选、勾选、确认,一旦实例多于3台,效率就明显下降。而命令行方式又常被误认为“必须会写代码”“得装SDK”“要配环境变量”,其实根本不需要。

爆款 腾讯云服务器 · 热销配置
限时优惠 | 个人专享
1.7折
轻量 2核2G4M
50GB SSD | 300GB流量
576元/年
99元/年
2.2折
轻量 2核4G6M
70GB SSD | 600GB流量
900元/年
199元/年
2.5折
轻量 4核8G10M
120GB SSD | 1500GB流量
2520元/年
630元/年
海外
海外 2核2G30M
东京/新加坡 | 1TB流量
576元/年
99元/年
查看全部优惠配置 →

腾讯云官方提供了轻量级的 shutdown.py 脚本,封装了API调用逻辑,你只需要准备三样东西:

  • 已下载的 shutdown.py 文件(官方开源脚本)
  • 你的腾讯云 SecretId 和 SecretKey(在【访问管理 > API密钥管理】获取)
  • 一份包含要关机的CVM公网IP或内网IP的文本列表(如 ip_list.txt

Windows系统下实操步骤(手把手,不跳步)

先确认你电脑已安装 Python 3.7+(CMD里输入 python --version 可查看)。没装的话,去 python.org 下载安装即可,勾选“Add Python to PATH”。

然后按顺序操作:

买1年送3个月 腾讯云服务器 · 超值年付
限时活动 | 数量有限
轻量 2核2G4M
个人专享 | 免费续3个月
576元/年
99元/年
轻量 2核4G5M
个人专享 | 免费续3个月
780元/年
188元/年
轻量 4核8G12M
个人专享 | 免费续3个月
2760元/年
880元/年
CVM 2核2G S5
个企同享 | 免费续3个月
846元/年
245元/年
CVM 2核4G S5
个企同享 | 免费续3个月
2196元/年
637元/年
CVM 4核8G S5
个企同享 | 免费续3个月
4776元/年
1256元/年
立即领取买1年送3个月优惠 →

  1. 新建一个空文件夹,比如 D:cvm-shutdown
  2. shutdown.py 文件放进这个文件夹(脚本地址见腾讯云开发者社区官方文档)
  3. 新建文本文件,命名为 secret.json,填入以下内容(替换为你自己的密钥):
    {"SecretId": "AKIDxxxxxxxxxxxxxxxxxx", "SecretKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"}
  4. 再新建 ip_list.txt,每行写一台CVM的IP(支持内网或公网IP,一行一个)
  5. 打开CMD或PowerShell,执行:
    cd /d D:cvm-shutdown && python shutdown.py --ip-list ip_list.txt --region ap-guangzhou

其中 --region ap-guangzhou 是地域参数,常见值有:
ap-beijing(北京)、ap-shanghai(上海)、ap-hongkong(中国香港)、ap-singapore(新加坡)等,具体以你CVM创建时选择的地域为准。

Linux系统下同样简单,命令稍作调整

如果你用的是 Ubuntu/CentOS,步骤几乎一致,只是命令写法略有不同:

  1. shutdown.pysecret.jsonip_list.txt 放在同个目录,比如 /home/user/cvm-off
  2. 确保有执行权限:
    chmod +x shutdown.py
  3. 执行命令:
    cd /home/user/cvm-off && python3 shutdown.py --ip-list ip_list.txt --region ap-shanghai

脚本运行后,终端会逐台显示关机响应结果,比如:
[SUCCESS] cvm-abc12345: shutdown initiated
[SUCCESS] cvm-def67890: shutdown initiated

长期特惠 腾讯云服务器 · 3年/5年机特惠
低至2折 | 省钱首选
2折
轻量 2核2G4M
个人专享 | 约9.8元/月
1728元/3年
353元/3年
2折
轻量 2核4G6M
个人专享 | 约14.7元/月
2700元/3年
528元/3年
5年
CVM SA2 AMD
高性价比 | 约17.4元/月
3400元/5年
1044元/5年
5年
CVM S5 Intel
稳定计算 | 约21.2元/月
4230元/5年
1269元/5年
查看长期特惠详情 →

10–15秒内全部返回成功,就说明所有CVM都已进入关机流程。你可以在腾讯云控制台的实例列表里看到状态变为“关机中”,几分钟后变为“已关机”。

批量关机脚本和手动点按,到底差在哪?

对比维度 手动逐台操作 Python批量脚本
操作耗时(5台CVM) 约2分30秒(含页面加载、防误触确认) 30秒内完成
出错风险 易漏选、误点“重启”而非“关机”、地域切换错误 脚本自动校验IP格式与地域,参数错误会明确提示
可重复性 每次都要重新登录、筛选、勾选 改IP列表就能复用,支持定时任务(如每天19:00自动关)
学习门槛 无门槛,但效率随数量线性下降 首次配置10分钟,后续每次执行<10秒

脚本怎么知道哪台CVM该关?它不靠IP,靠的是“实例ID”

你可能疑惑:脚本里只写了IP,但腾讯云API实际是靠 InstanceId(如 cvm-123abc456)识别实例的。这正是脚本的智能之处——它会自动调用 DescribeInstances 接口,根据你提供的IP反查对应实例ID,再发起关机请求。

也就是说,哪怕你CVM换过公网IP,只要内网IP没变、或者你用的是已绑定的固定公网IP,脚本依然能准确定位。这也是它比“复制粘贴控制台URL”更可靠的原因。

GPU 腾讯云 · GPU服务器 & 爆品专区
AI算力 | 限量抢购
GPU GN6S
NVIDIA P4 | 4核20G
501元/7天
175元/7天
GPU GN7
NVIDIA T4 | 8核32G
557元/7天
239元/7天
GPU GN8
NVIDIA P40 | 6核56G
1062元/7天
456元/7天
香港 2核 Linux
独立IP | 跨境电商
38元/月
32.3元/月
查看GPU服务器详情 →

哪些情况脚本会提示失败?提前避开这3个坑

  • 密钥权限不足:确保该API密钥已授予 QcloudCVMFullAccess 或至少 QcloudCVMReadOnlyAccess + QcloudCVMSysOperateAccess 策略
  • IP填写格式错误:每行只能有一个IP,不能带空格、逗号、中文符号;不支持域名或主机名
  • 地域选错:CVM在 ap-guangzhou,却写了 --region ap-beijing,会导致查不到实例,返回空列表

遇到报错不用慌,脚本自带 --help 参数,执行 python shutdown.py --help 就能看到所有可用选项和样例。

还能怎么延伸?关机只是第一步

这个脚本本身是开源的,你可以顺着它继续扩展:比如加个 --on-weekend 参数,让脚本只在周末运行;或者把关机逻辑和“定时开机”脚本配对使用,实现 工作日早8点开机、晚8点关机 的全自动循环。

如果你需要长期管理10台以上的CVM,还可以把IP列表换成从CMDB或蓝鲸作业平台拉取的动态数据,做到和企业IT流程真正打通。

对刚接触云服务器的小白来说,从“一台台点”到“一行命令搞定”,不只是省时间,更是建立对云平台可控感的关键一步。当你可以用脚本管理资源,你就已经跨过了“只会点控制台”的新手期。

现在你已经清楚腾讯云CVM批量关机的具体操作路径,也知道了脚本背后是怎么工作的。如果正在考虑部署第一台云服务器,不妨从一台起步,熟悉流程后再批量操作。想快速开通一台可立即执行脚本的CVM,可以访问 腾讯云服务器优惠链接,按需选择配置。

推荐 腾讯云服务器 · 更多优惠配置
点击查看详情
轻量 2核2G4M
50GB SSD | 300GB流量
99元/年
轻量 2核4G6M
70GB SSD | 600GB流量
199元/年
海外 Linux 2核2G30M
东京/新加坡 | 1TB流量
99元/年
海外 Win 2核2G30M
东京/新加坡 | 1TB流量
99元/年
上云大礼包 1670元
代金券礼包
轻量服务器特惠
跨境电商服务器
查看全部优惠 | 领取专属礼包 →