那个查磁盘的脚本,比我写的强,也比我写的野
凌晨一点五十,磁盘告警压下去了,可那台机器我心里还是没底,记一笔。 事情发生在上礼拜三,不对,上上礼拜四,11月5号吧,反正那天我值夜。3号机 /var 分区,85%、91%、93%,一轮一轮往上跳,清一遍日志掉下去,第二天又上来。白班交接单上写着“已清理,观察”。观察个屁,观察了两天还是这样。
@yeban-dapeng
运维,常驻夜班。凌晨的机房很安静,适合写点东西。
凌晨一点五十,磁盘告警压下去了,可那台机器我心里还是没底,记一笔。 事情发生在上礼拜三,不对,上上礼拜四,11月5号吧,反正那天我值夜。3号机 /var 分区,85%、91%、93%,一轮一轮往上跳,清一遍日志掉下去,第二天又上来。白班交接单上写着“已清理,观察”。观察个屁,观察了两天还是这样。
凌晨两点二十,刚从机房上来,膝盖还是凉的。趁着这会儿告警没响,说个事,说出来有点丢人。 就是让 AI 直接连机器看现场这个事,我一直不肯。 我是这么想的:它给我写脚本,那脚本我一行行看得见,能改能存,跑之前我自己审一遍,出了事我翻得出来是谁写的第几行。
凌晨三点十分,告警刚消停,说个憋了一礼拜的事。 上礼拜三,不对,周四凌晨,我翻老爷子U盘里那批老脚本,接着往下翻新。翻到一个清归档日志的,思路挺清楚,按年份月份分目录,超过九十天的删。这种脚本我手上也有,但老爷子那版写得稳,先算、再列清单、最后才动手删,注释里还写着哪年哪台机器上删错过。
那个抓现场的脚本,上个月写的,不对,九月底——反正国庆前那阵子——今天凌晨又用上了。今天这个不是重点,重点是当时写它的过程,我到现在还有点没缓过来。 事情是这样的。有台机器,10.32 那段的,负载每天夜里两点多准时往上飙,飙到二十几,白天好好的。白班查了两天抓不着现场,人不可能守到两点。
凌晨两点多,告警刚消停,趁着这会儿记一笔上周那件丢人的事。本来不想写的,太蠢了,但憋着难受。 上周三,不对,上周二的后半夜,我把那个磁盘巡检的老脚本用 AI 重写了一版,原来是一台一台串着跑,慢,重写之后并发跑,ssh 分发到各台机器上。写完在本地试了两台,没问题,就挂上定时了。
凌晨三点,刚压掉一波磁盘告警。 就是那个我嘴硬了小半年的东西,这周真香了——AI写脚本。 其实也不是嘴硬,就是觉得没必要。脚本这东西自己写了五年了,什么场景该写什么,脑子里都有,犯得着让一个模型帮我写吗?说白了就是不信任,它又不在一线值班,不知道凌晨三点被叫起来查告警是什么感觉。 上礼拜有个事。
上个月,不对,是八月底吧,朋友介绍的一个活,说很简单,一台服务器日志太占地方,让我写个脚本每天清一下,顺便看着点磁盘。我那时候刚下夜班,脑子是木的,人家问多少钱,我张嘴就报了个八百。现在想起来,八百块钱我图什么呢。
凌晨三点,告警刚消停,写点上个月的事。 九月,记不清哪天,反正是个周三,不对,周四凌晨,一点多,一台从库的 inode 报警了。df i 一看基本满了,这种一般是有目录在攒小文件,得先登上去找是哪个目录。手上那批机器三十来台,一台台登太慢,就想起我自己那个 checkinode.sh。
凌晨两点五十,刚压掉一波告警,趁着安静记一笔。这回不是脚本的事,是丢人。 上个月,九月中,不对,是九月初那阵,白班的老周找了我。老周不是运维,做业务的,会写点脚本但基本不碰服务器,他那接口量统计一直靠手工从日志里抠。我说这你还手工啊,让 AI 给你写一个 awk,五分钟的事。我那口气,现在回想起来,吹得有点满。
凌晨三点刚过,告警消停了,写点上周的事。 上周三,不对,上周四吧,白班交接过来一台机器,跑报表的那台,/data 满了,98%。白班的兄弟查了大半天,du sh 一层层数下来加起来才两百多G,盘是1T,差出来的那几百G不知道去哪了。
凌晨三点二十,刚压掉一波告警,趁着安静说几句。就是前阵子换了个模型,原来那个本地的我用了两年多,一直没动,人这个用顺手了就不想换,跟我们那些老脚本一样,能跑就不碰。上礼拜还是上上礼拜,反正九月头上,实在受不了了才换的。 原来的毛病是话多。
凌晨两点五十,告警刚消停,趁这个空当把上周那个事记一下,不写下来堵得慌。 上周三,不对,是周四凌晨开始的,巡检邮件每天四点准时过来,里面就挂着一条错,no such file or directory,后面跟个路径。
凌晨一点半,刚把一波告警压下去,没啥事干,就把前两天那个同步脚本的 bug 接着调。这个脚本是我上个月写的,就是那个把备份从主库拉到分析机上的,写的时候觉得挺顺,结果跑了两周,每周三早上准时报错,报错还特别怪,日志里写的是连接被重置,但有时候又能成功,白班的兄弟查了两回没查出来,我接手看,反正半夜闲。
凌晨两点五十,刚把巡检的告警压掉,突然想起上个月接的那个小活,还是想说两句。报价这事我真的是栽过跟头,也不算大跟头,就是想起来,觉得自己挺傻的。 上个月,八月中吧,有个以前同组的兄弟,跳出去好几年了,介绍了个活给我。
周三,不对,周四凌晨,白班的兄弟移交了一个监控脚本过来,说这台机器上自己写的那个磁盘巡检脚本跑了半年,最近老是误报,让我有空看看。我当时也想起来,确实是,这周我已经收到三次它发的告警,每次都跑过去看,盘好好的,连inode都没满。
凌晨两点,刚压掉一波告警,机器那点嗡嗡声听着都顺耳。想起前两天的事,记一笔。 下午,不对,下午一点多,我刚醒没多会,手机就响。是小段,白班管值班室的,问我有没有空,说他有个Excel要处理,几百行,领导让按月份拆成好几个文件,他手工复制粘贴了大半天,刚粘完一个,还有五个。我说你这不找罪受嘛,让AI写个脚本,几秒的事。
凌晨三点,刚把一波告警压下去,趁着困劲儿记一笔。这周卡了个事情,原因蠢到我不想说,但记下来,免得下回还犯。 周一那晚的交接,不对,周二凌晨,白班兄弟留了张表,说几台机器日志分区告急了,让我值夜班的时候清一下。
凌晨一点四十,又被磁盘告警吵醒——不是我困不困的问题,是那台老机器又满了。点开一看,不出意外,又是那个脚本跑挂了。 说到这个脚本,得从三年前说起。那时候我刚转到夜班没多久,前任运维交接的时候给了我一堆脚本,其中有个叫 cleanlog.sh,作用是清历史日志。当时他说"这脚本稳得很,用了两年没出过事",我也就真信了。
凌晨两点半,监控消停了,写写这个。 就是我那个磁盘监控脚本,我写了得有四年了吧,一直想重写一直懒得动,今年四月份,不对,五月份,终于让它重写了一版。那脚本实在烂得没边了,说出来有点丢人,但反正是我自己的东西,烂就烂吧。 原始代码长啥样呢,其实逻辑特别简单,就是个磁盘空间统计,超了阈值就发告警,然后定期把结果写进日志。