加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.023zz.com.cn/)- 高性能计算、物联设备、数据可视化、操作系统、基础存储!
当前位置: 首页 > 站长资讯 > 动态 > 正文

站长圈淘汰只会写代码的后端实习生

发布时间:2026-11-06 11:08:49 所属栏目:动态 来源:DaWei
导读:  去年四月,凌晨三点二十,我正用牙签掏着左耳里一粒干结的耳屎,监控屏右下角弹出红色飘窗:/var/log 全盘 99%。我第一反应是删 nginx access_log——手悬在键盘上顿了三秒,想起上周刚被运维老张拍过肩膀:“日志轮转脚本你

  去年四月,凌晨三点二十,我正用牙签掏着左耳里一粒干结的耳屎,监控屏右下角弹出红色飘窗:/var/log 全盘 99%。我第一反应是删 nginx access_log——手悬在键盘上顿了三秒,想起上周刚被运维老张拍过肩膀:“日志轮转脚本你改过没?”我没改。我原以为他随口一问,结果那脚本里 date +%Y%m%d 的格式少了个反斜杠,跑出来全是 access_log.2024040,根本压不进 logrotate。


  机房空调嗡嗡声突然变尖,像有人用指甲刮黑板。值班室泡面桶还立在服务器机柜缝里,汤汁凝成琥珀色胶块。我把终端切到备份服务器,敲 rsync -av --delete /data/ backup@192.168.3.10::webdata ——回车前瞥见 cron 里那行 0 2 /opt/scripts/backup.sh 后面缀着个 \\# DISABLED。是上周五我自己加的。当时觉得“等迁移完再开”,可迁移脚本里漏了 --exclude=cache/tmp,硬生生把十五个G的临时渲染文件全扫进了备份目录。


  老板在运维大群里发了个截图:证书过期告警钉在阿里云控制台首页,下面一行小字“剩余有效期:-7天”。他没说话,就甩了张图。十分钟后又甩一张——是客户工单系统截屏,标题《贵站支付回调始终502,已影响47家分销商订单》。我盯着那个47,想起上个月搬家时纸箱上写的“47件”,当时数了三遍,怕丢东西。结果丢的是 DNS TTL 值——我手动改过一次解析记录,填了 300 秒,可主域名 NS 服务商后台默认锁死最低 3600,改完根本没生效。直到故障两小时后,客户说“你们官网点不开”,我才去 dig @114.114.114.114 www.xxx.com,返回的还是旧 IP。


  老张叼着半截烟进来时,我正在 ssh 进 DB 主库查 binlog,手指抖得连 ls 都输错两次。他弹了弹烟灰,说:“别查了,从凌晨一点十七分开始,所有 insert 都卡在 wait lock。”我嗯了一声,继续敲 show processlist,这时候才看见那条挂着的 alter table users add column invite_code varchar(16) default null,lock time 已经 48 分钟。我原以为只是个普通加字段,结果它卡在 slave_relay_log_pos 卡死了。这个我到现在也没想明白——主库明明已经 commit,为啥从库 replay 还卡在中间一条 update 上?


  客服小陈打来电话,背景音里小孩在哭,她声音劈叉:“客户说点支付按钮就跳‘网站暂时不可用’……不是你们改的 maintenance.html 吧?”我没答。maintenance.html 是我昨天下午三点加的,放在 Nginx root 下,但忘了注释掉 location / { try_files $uri $uri/ @backend; } 里那行 include /etc/nginx/conf.d/maintain.conf;那配置里写了 return 503,可维护页却指向 404。客户看到的压根不是我写的蓝色提示页,是 nginx 默认的“503 Service Temporarily Unavailable”白底黑字。比宕机还寒心。


  窗外雨下大了,水珠砸在机房玻璃上拖出歪斜水痕。隔壁运维王工蹲在地上调 UPS 电池柜,扳手掉进散热孔,他骂了句“操”,弯腰去掏,裤腰带扣崩开了一颗。我盯着他后颈上的汗,突然想起上一次搬家——打包时把硬盘盒塞进旧鞋盒,贴了张纸条“SSD 重要”,结果物流单上写的是“鞋盒1”,到货拆开发现盒子瘪了半边,螺丝孔裂了缝。数据没丢,但那台硬盘从此扇区读取慢得像拖拉机爬坡。有些东西就是这么脆,没坏之前,谁也看不出哪道缝会裂开。


  我删了 access_log 里七天前的归档包,磁盘降到 94%,服务没恢复。又删掉 /tmp/.cache/nginx/,降了 2%,still 92%。最后是老张用 du -sh | sort -hr | head -20 扫出来的——一个 /var/spool/postfix/maildrop/ 目录里躺着八千多封发不出去的报警邮件,每封附带完整 nginx error_log 截图,最大的一封 1.2G。原来监控平台每天早上九点发告警摘要,可 SMTP 密码三个月前换了,脚本里一直没更新,所有邮件都在这儿堆着发酵。我们仨站在冷气出风口底下,头发都湿了,没人说话。雨还在下,空调噪音忽高忽低,像呼吸不太稳。


  后来才知道,CC 攻击那波是真来了——凌晨两点零七分起,流量曲线陡升,但我们的 netstat -an | grep :80 | wc -l 一直在 120 上下晃。因为 WAF 规则没开 bot 识别,只拦了 UA 里带 sqlmap 的请求,结果对方换了个 curl -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" 就全放行。我原以为 WAF 是万能盾,结果它只是个筛豆子的漏勺,漏掉的豆子全掉进 /var/log/nginx/error.log 里,撑爆了磁盘。


  明早先调告警阈值吧。把 /var/log 满的阈值从 95% 改成 88%,加个清日志的 pre-warning,再把 backup.sh 里的 # DISABLED 删掉——不,还是留着。我得先确认清楚那十五个G的 cache 是不是真能删。对了,DNS TTL 得今晚下班前登进 NS 服务商后台重设一遍,不能再信本地测试的 dig 结果。还有,修修 maintenance.html,至少让 503 返回的是那张蓝页,不是 nginx 黑话。


文章配图,仅供参考

  算了,先泡桶面。这桶面汤太咸,喝一口就想吐。但得喝完——老张说我脸色发青,像上个月断电那次。那回他摸我额头说:“人没烧,是吓的。”

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!