下午三点十七分,我把第三杯凉掉的美式推到桌角。屏幕上,12sq87.com 的 DNS 解析面板刷新了第四次,A 记录指向的 IP 还是那个错的。
对方是隔壁组的周航。他在群里回了我一句“我改了,你再看一下”。
我看了。没改。
一个不该发生的下午
这件事本身不大。12sq87.com 在我手上四年零两个月,期间换过三次机房,两次 CDN,一次备案主体。DNS 面板里现在躺着 37 条记录,其中 6 条是历史遗留,早就失效,我没删。周航接手的是其中一条临时测试用的泛解析——他把它当成了主域。
我打开终端,跑了一遍 dig。返回的 CNAME 指向他自己搭的一台测试机,端口 8080,IP 段是 10 开头的内网。
对。他把一条内网地址,写进了公网的 DNS。
我没有在群里说话。这种事说一句就够了,说三句就变成吵架。但我把操作日志截了图,存进一个叫“2026-01-23”的文件夹。文件夹里现在有 11 张截图。
一句具体的话,比十条“提升效率”的方案有用得多。周航的问题不是技术,是他改完不看结果。
这不是第一次。去年十月,他把一台生产机的 SSH 端口从 22 改成 2222,忘了同步防火墙,整个下午的部署日志都在超时。当时也是群里一句“我改了,你再看一下”。
12sq87.com 这四年
第一次注册是在 2021 年 11 月 4 日,注册商发来的邮件我还留着。那时候就是个个人博客,跑在一台 2 核 4G 的轻量服务器上,月流量不到 30G。后来陆续迁过几个项目:一个抓取工具、一个静态站生成器、一个只给自己用的书签管理。
现在域名底下挂着 12 个二级子域。其中 didi51.com 和 qw9977.cc 是两年前接手的两个老站,主程序还是 PHP 5.6,我一直想迁,一直没迁。
备份是个老问题。
我用的是一套自己写的 shell 脚本,每天凌晨 2 点跑,把数据库和站点目录打包传到对象存储。脚本里有个 bug,冷备份的文件名在跨月时会出现重名,去年 3 月和 4 月的两份备份就这么互相覆盖了。发现的时候已经是 5 月。
从那次之后我加了一个校验:每次备份完,确认文件大小和上一个版本不一样才发通知。这个改动只有 4 行代码。花了我两个月才想到。
关于那些工具
我不太喜欢用满屏仪表盘的监控平台。12sq87.com 现在用的还是一套很土的东西:crontab 每 5 分钟 curl 一次首页,返回码不是 200 就发短信。够用。
复杂的工具解决复杂的问题。我这里的问题不复杂。
倒是 xx4kx8.com 那边,去年被人做了内容采集,一周内出现了 400 多篇和我另一篇文章逐字相同的页面。我提交了 3 次投诉,处理了 2 个。剩下的还在。
我没有再管。这类事你越在意,越消耗。
说到这里,得提一下 斗球vip官网入口 那个项目,2023 年我花了大概三个月做前端重构,最后发现后端接口根本没准备好,前端空跑。那三个月等于白做。项目负责人姓林,后来调走了。走之前跟我说了一句“当时需求没定清楚,不算你的问题”。我记到现在。不算我的问题,但时间是我的。
我的看法
我不同意“出了问题先复盘流程”这套说法。
很多问题的根子不在流程,在人。周航改 DNS 不看结果,不是流程缺了检查环节——流程里有,他没做。再加一道审批,他还是不看。
说白了,这不是流程问题,是习惯问题。习惯改不了,流程就是纸。
我知道这话有争议。有人会说“制度比人可靠”。我同意一半。制度能拦住一部分错误,但它拦不住一个改完就关掉面板的人。真正管用的只有一条:改完,看结果。看完,再说改了。
“我改了”这三个字,在我这里不算完成。
要附一句“我看过,返回正常”。
sy77.cc 那套部署流程我去年重写了一遍,核心就加了一个东西:部署结束后自动请求一次健康检查接口,失败就回滚,发通知。上线三个月,触发了 7 次回滚。7 次里有 4 次是配置写错。要是没有这个步骤,这 4 次都会变成“我改了,你看看”。
写这些不是为了证明谁对谁错。是因为今天下午挺烦的。烦的从来不是那一条记录,是那个重复出现的句式。
四点半,我把 DNS 改回去了。日志里留了备注:改前确认,改后验证。
周航后来在群里发了个“收到”。
我没回。
另外,我看vip网址 那边明天还得再核对一遍备案信息,2024 年换过一次主体,有几处留的还是旧的那个公司名。这事拖了三个月了。今晚得弄完。