GCP 封号之后:一次数据自救记录
2026 年 8 月 12 日 · 约 13 分钟阅读
半夜两点,手机震了一下。一封来自 Google Cloud Platform 的邮件,标题是「Your account has been suspended」。
我盯着屏幕看了大概十秒。不是因为恐慌,而是因为我知道这一天迟早会来。过去两年,我在那台 GCP 免费实例上跑了太多东西——博客、几个 Telegram bot、一个实验性的 API 网关、还有一堆没来得及备份的笔记。
第一反应:确认损失
封号原因写得很模糊:「违反服务条款」。没有具体说明,没有申诉入口,没有恢复时间线。我尝试登录控制台,显示「此账号已被停用,无法访问任何资源」。
这意味着:
- 博客数据库(MySQL)→ 不可访问
- 静态文件存储(GCS Bucket)→ 不可访问
- 三个 Telegram bot 的会话日志 → 不可访问
- 域名 DNS 记录(Cloud DNS)→ 不可访问
好消息是,域名不是从 Google 买的,所以 DNS 可以切走。坏消息是,除了 DNS,我没有一份完整的离线备份。
自救方案:从缓存里捞数据
冷静下来之后,我开始梳理还能从哪里拿回数据。关键思路:Google 的数据中心在你失去访问权限之前,已经把你的内容分发到了无数个边缘节点。只要找对入口,就能捡回来。
第一步:劫持 DNS
把域名 DNS 从 Cloud DNS 切到 Cloudflare(免费计划)。这一步花了不到 20 分钟。域名重新解析之后,至少网站还能指向新服务器。
第二步:从 Google Cache 捞文章
在 Google 搜索 site:scolv.com,每条结果旁边点「缓存」——这是老派技巧,但依然有效。Google 缓存了大约 80% 的页面。我用了一个简单的脚本把每条结果点开、复制到本地 Markdown 文件。
# 伪代码:从 Google Cache 抓取文章
for url in cached_urls:
text = fetch(f"webcache.googleusercontent.com/search?q=cache:{url}")
clean = strip_html(text)
save_to_markdown(clean)
这招帮我找回了大概 40 篇长文,可惜图片全丢了。
第三步:Wayback Machine
Internet Archive 的 Wayback Machine 是另一个救命稻草。web.archive.org/web/*/scolv.com 里有 2019 年到 2024 年的快照,覆盖了大约 60% 的内容。和 Google Cache 互补之后,我把能找到的文章都救了回来。
第四步:Bot 日志
Telegram bot 的对话日志彻底丢了。因为 bot 是纯内存模式,没有持久化到外部存储。这部分只能接受。
教训与行动
这次事件之后,我给自己定了几条规则:
- 不依赖单一云厂商的免费层——免费的东西,说没就没,而且没有客服。
- 静态优先——新博客全是静态 HTML,没有数据库,没有后端。一个
rsync就能备份。 - 定期导出——每写一篇新文章,自动生成 Markdown 备份,推送到 GitHub 私有仓库。
- DNS 独立——域名注册商和 DNS 托管分开,随时能切。
- 不信任「自动备份」——云厂商的自动备份在账号被封的瞬间也一起消失了。只有自己手里的副本才算数。
重建的代价
丢失的数据:大约 20 篇找不回来的旧文、所有图片、bot 日志、几个实验项目的源码。
但坦白说,这个结果比我预想的要好。真正重要的东西——那些长文——大部分都通过缓存和存档找回来了。而那些「以为重要」的东西,丢了之后才发现其实没那么重要。
这个站就是重建的产物。没有数据库,没有后端,纯静态。每一篇文章都是一次手动备份。如果你也在用云厂商的免费服务,现在就去做一份离线备份。
如果你有类似经历,或者想聊聊备份策略,欢迎写信到 ryu@scolv.com。