站群过期了200多个域名,一个一个删花了两天,后来发现这4个批量删除工具省了80%的时间
去年清理一批过期的站群域名,200多个域名分布在CloudFlare、DNSPod和两台服务器上。一开始想着"一个一个删也花不了多少时间",结果删到第30个的时候手已经开始抖了——每个域名要点四五下鼠标,确认删除再确认,中间还要等页面刷新。最后花了两天时间才全部清完。
后来换了思路,找了几个批量删除工具和脚本,同样的工作量压缩到了不到半天。域名多的站长一定会遇到这个问题——站群转型、域名过期、服务器迁移、测试站清理,哪一样都绕不开批量删站。这次把实际用过、确认靠谱的4类工具整理出来,从域名到服务器到数据库,覆盖全链路。
批量删除网站,四类工具各管一段
| 1 | 域名解析批量删:CloudFlare API脚本、DNSPod批量工具、ApiDo多平台工具箱 |
| 2 | 服务器站点批量删:宝塔面板API、bt命令行工具、批量管理插件 |
| 3 | 网站文件/数据库批量删:Shell脚本批量删目录、MySQL批量删库 |
| 4 | 多平台一站式批量删:ApiDo工具箱、九零工具箱、CZNAME域名工具箱 |
一、域名解析批量删除:CloudFlare、DNSPod和跨平台工具
域名层面的批量删除是最常见的需求。域名过期了、站群解散了、DNS记录要清空重新配置——域名多了之后手动一个一个删DNS解析记录是噩梦。不同域名服务商的批量操作能力差异很大。
CloudFlare API批量删除脚本:CloudFlare后台没有原生的批量删除DNS记录功能,但API是开放的。Python脚本是目前最成熟的方案——获取Zone ID后,遍历DNS记录列表,调用DELETE接口逐条删除,配合多线程可以在几分钟内清空一个域名的几百条记录。GitHub上rubmle的cloudflare-dns-multi-threaded-deleter脚本做了多线程优化和速率限制规避,实测清空一个300条记录的域名大约3-5分钟。如果是批量删除多个域名(而不是DNS记录),CF批量工具箱(cfbatch.com)支持勾选域名一键删除。
DNSPod批量删除:腾讯云DNSPod有官方的批量删除域名接口,输入域名列表直接调用API即可。控制台也有批量操作入口:批量管理域名 → 勾选要删的域名 → 批量删除。相比CloudFlare,DNSPod的控制台批量能力更完善,不需要写代码也能搞定。
阿里云DNS批量操作:阿里云云解析的控制台支持批量管理域名和批量操作DNS记录。可以一次性输入多个域名进行添加、删除、转移分组等操作。还支持DNS解析模板——先把解析记录导出成模板,需要的时候一键应用到新域名,或者一键清空旧域名的解析。
| 平台 | 控制台批量删 | API批量删 | 第三方工具 | 适合场景 |
|---|---|---|---|---|
| CloudFlare | ✗ | ✓ | cfbatch.com、九零工具箱 | 域名和DNS记录多的站群用户 |
| DNSPod | ✓ | ✓ | ApiDo | 国内域名、腾讯云生态用户 |
| 阿里云DNS | ✓ | ✓ | ApiDo | 阿里云生态、企业级域名管理 |
二、服务器站点批量删除:宝塔面板的四种方式

域名解析删完只是第一步。服务器上那些站点的文件、Nginx配置、SSL证书、数据库还占着磁盘空间。宝塔面板是目前国内使用最广的服务器管理面板,批量删站有四种方式,从易到难、从慢到快。
方式一:网页端多选批量操作(最简单,适合十几个站以内)。宝塔面板网站列表支持多选——按住Ctrl逐个点选,或者Shift连续选择,然后右键菜单里有"批量删除"。可以勾选"同时删除FTP""同时删除数据库""同时删除根目录",一键完成。十几二十个站用这种方式就够了,不需要折腾脚本。
方式二:bt命令行工具(适合几十个站,需要知道站点名称规律)。SSH连上服务器后,bt命令可以直接操作站点。比如站点名称是site_001到site_200,可以用一行Shell循环批量删除:for i in $(seq 1 200); do bt delete_site "site_$i"; done。bt工具还会自动清理对应的Nginx配置和日志文件,比手动删干净得多。
方式三:宝塔API接口(最灵活,适合编程能力的用户)。宝塔面板开放了完整的REST API,在面板设置里开启API接口并获取密钥后,可以用任何语言调用。核心接口是/data?action=getData&table=sites获取站点列表和ID,然后调用/site?action=DeleteSite逐个删除。Python脚本十几行代码就能搞定,而且可以加逻辑判断——比如只删除超过3个月没更新的站点。
方式四:计划任务定时批量清理(适合定期维护)。宝塔面板的计划任务功能支持Shell脚本,可以把批量删除逻辑写成脚本,设定每周或每月自动执行。比如每月1号自动清理带有"test_"前缀的测试站点,省得手动维护。
网页端多选
Ctrl/Shift多选→右键批量删。适合十几二十个站,零门槛。
bt命令行
SSH一行循环批量删,自动清理Nginx配置和日志。适合几十上百个站。
API接口
Python十几行搞定,可加条件过滤(如只删3个月未更新的站)。最灵活。
计划任务
设定定时脚本自动清理测试站、过期站。适合长期维护,一劳永逸。

三、网站文件和数据库批量清理
站点删完了,服务器上还残留着网站文件和数据库。这些不清理,磁盘空间会越占越多。
网站文件批量删除:如果站点目录有统一命名规则(比如都在/www/wwwroot/下),一行Shell就能批量删:rm -rf /www/wwwroot/site_*。如果命名不统一但有个列表文件,可以用while循环逐个读入删除。如果要更安全——先移到回收站目录而不是直接rm -rf,确认无误后再清空回收站。
MySQL数据库批量删除:数据库名和站点名通常是对应的。用MySQL命令行连接后,SELECT CONCAT('DROP DATABASE ', schema_name, ';') FROM information_schema.schemata WHERE schema_name LIKE 'site_%';先生成删除语句列表,确认后再执行。如果用的是宝塔面板,方式一和方式二删站的时候勾选"同时删除数据库"就行,不需要单独操作数据库。
特别提醒:删数据库之前一定先确认有没有需要保留的数据。建议先mysqldump全量备份再操作。rm -rf没有回收站,一旦执行无法恢复。批量删除时先在测试环境跑一遍,确认匹配到的都是要删的目标。
四、跨平台一站式批量工具:一个界面管理所有域名商
如果你的域名分散在多个平台——CloudFlare几十个、NameSilo几十个、GoDaddy十几个、阿里云十几个——一个一个登录后台操作效率很低。跨平台批量工具的价值就是把所有平台的域名统一管理,一个界面批量操作。
ApiDo(api-do.com):目前支持19家域名商,包括CloudFlare、NameSilo、GoDaddy、DNSPod、阿里云、Namecheap、Dynadot等主流平台。功能覆盖批量添加域名、批量修改NS、批量DNS解析、批量删除域名。通过API Key连接各平台后,勾选域名一键操作。免费版有操作次数限制,付费版按套餐收费。适合域名数量大且分散在多平台的场景。
九零工具箱(90th.cn):同样支持多平台批量操作,界面比较简洁,CloudFlare、NameSilo、GoDaddy等平台覆盖较全。有专门的"CloudFlare在线批量删除域名"功能模块,输入API信息后自动列出所有域名,勾选即可批量删除。工具完全免费。

CZNAME域名工具箱(tools.czname.com):支持18家域名服务商,提供批量DNS解析和批量删除功能。同样通过API Key连接各平台,支持批量添加、修改、删除DNS记录。对技术用户还提供了API接口,可以集成到自己的脚本里。
| 工具 | 支持平台数 | 价格 | 特色 |
|---|---|---|---|
| ApiDo | 19家 | 免费/付费套餐 | 覆盖最全,支持批量添加/修改NS/解析/删除 |
| 九零工具箱 | 多家主流 | 免费 | CloudFlare批量删域名专有模块,操作简单 |
| CZNAME工具箱 | 18家 | 免费 | 提供API接口可集成到脚本,技术用户友好 |
五、批量删除的完整操作顺序,做反了会出问题
批量删除网站不是"先删哪个都一样"。顺序错了会导致残留数据或者误删还在用的资源。下面是实际验证过的安全操作流程:
批量删除网站安全操作顺序
| 1 | 先备份数据库和关键文件 | mysqldump全量导出 + 网站文件打包,万一删错了还能恢复 |
| 2 | 停止站点运行 | 先停站确认没有用户访问,观察一段时间再删 |
| 3 | 删除DNS解析记录 | 先清DNS,避免还有人通过域名访问到残留页面 |
| 4 | 删除服务器站点配置 | 宝塔删站 → Nginx配置、SSL证书、日志一起清 |
| 5 | 删除网站文件和数据库 | 确认备份没问题后,清理磁盘空间 |
| 6 | 释放域名或删除域名 | 不再续费的域名及时从DNS平台删除,避免残留 |
六、三个容易踩的坑,批量删除时尤其要注意
坑一:rm -rf通配符匹配范围超出预期。比如你想删site_test_*,结果通配符匹配到了site_test_backup_prod——把生产环境的备份也删了。批量操作之前先用ls或echo命令预览匹配结果,确认无误后再执行删除。
坑二:API调用频率限制导致部分操作失败。CloudFlare API有速率限制(每分钟1200次请求),批量删除大量DNS记录时如果并发太高会被限流。脚本里要加延时或使用官方SDK内置的重试机制,不然删到一半被限流,剩下的记录还得手动补删。
坑三:删了服务器站点但忘了删CDN和WAF配置。很多站群用了CloudFlare的CDN或者阿里云的WAF,只删服务器站点不删CDN配置,域名指向会变成无效页面甚至报错页面,影响品牌形象。删站之前先确认域名关联了哪些外部服务,同步清理。
通配符误匹配
先用ls/echo预览匹配结果,确认无误再执行rm。宁可多一步确认,不要少一步后悔。
API速率限制
CloudFlare API每分钟1200次限制。脚本里加延时或重试机制,防止删到一半被限流。
外部服务残留
CDN、WAF、对象存储、邮件服务——删站前确认域名关联了哪些外部服务,一并清理。
说到底,批量删除网站这件事,工具和方法都不缺,缺的是操作规范。域名少的时候手动点几下没关系,域名多了之后——不管是站群转型、过期清理还是服务器迁移——一定要用批量工具。花半小时学一下API调用或者配置一个跨平台工具箱,换回来的是以后每次清理省下的几小时甚至几天时间。那个手动删了两天的教训,一次就够了。
