凌晨两点,手机在枕头边上震。

我眯着眼摸过来,屏幕上跳出一个名字——陈长荣。离职三个月,这人一个消息没给我发过。现在这个点打过来,用脚趾头想都知道没好事。

接起来,他声音哑得像砂纸磨过铁皮:“梓琪,数据库崩了。”

我坐起来,按开床头灯:“陈总,我现在是自由身。什么预算?”

电话那头安静了。一秒,两秒。

然后他开口,语气淡得像在说天气不错:“老交情,帮帮忙。”

打开网易新闻 查看精彩图片

01

我没接话。

直接把电话挂了。躺回床上,盯着天花板,心跳咚咚的。

手机又震了三下,来电显示老刘。我犹豫了五秒,还是接了。

老刘压低声音,语速很快:“梓琪,数据库被勒索病毒锁了,所有客户数据全崩了。你经手那六个上市客户的年度审计数据也在里面。如果处理不好……”

他顿了一下。

“你知道后果。”

我当然知道。那些客户的审计数据我都签过技术责任书。丢了,追究起来,我这辈子的从业资质都要搭进去。

“陈长荣什么时候找的你?”我问。

“他先给你打电话你没接,才让我打的。他说你是唯一能修的人。”

我冷笑了一声。唯一能修的人——当初我走的时候,他可不是这么说的。

三个月前递辞职信那会儿,我坐在陈长荣对面,手里攥着写好的信。他看了一眼,没当回事,低头继续刷手机:“想好了?”

我说想好了。

他说:“梓琪,你这个技术在外面不好找工作,你自己想清楚。”

我当时愣住了。在公司干了八年,每年绩效考核都是优秀,公司有一半的核心业务系统是我搭建的。他跟我说“不好找工作”?

后来我才从人事那里听说,我提辞职那天下午,陈长荣在会议上说:“梓琪走就走吧,人嘛,总觉得自己出去能更好,撞了南墙就知道了。”

他没挽留,连句客套话都没说。

我坐在床上,披了件外套,回想过去八年。

从26岁到34岁,最好的年纪全搭在那个破烂机房了。

加班加点是常事,节假日系统出问题一个电话就得赶过去。

陈长荣从来没说一句“辛苦了”,倒是在年终总结会上说过:“梓琪这个岗位替代性不强,但也不是非她不可。”

那时候我就应该懂了。可我没懂。人有时候就是这样,非得等最后一根稻草掉下来,才知道自己撑了太久。

最后那根稻草是年终涨薪评选。

公司只有一个名额。我榜上有名,结果出来后,名额给了新来的徐嘉欣。理由是“梓琪你稳定,不在乎这些”。

我稳定?我八年没涨过几次工资,五险一金按最低基数交,每年年终奖比市场价低了将近一半。这叫稳定?这叫我好欺负。

那天下班后我在机房坐了很久,盯着满屏的代码发呆。

机柜嗡嗡响,空调有点冷。

我忽然意识到一件事:在这个公司,你越能干就越不值钱。

因为他们觉得你离不了,觉得你走了就没出路。

第二天我递交了辞职信。

手机又震了一下,是老刘发来的微信:“梓琪,我知道你不想来。但公司现在真乱套了,你来看看就知道了。数据库是凌晨一点崩的,所有人都没下班。”

我看着屏幕,手指悬在键盘上面。

最后还是发了两个字:“等着。”

我起身换衣服。

走到门口的时候看了一眼镜子。镜子里的人眼睛有点肿,头发乱糟糟的。我今年三十四了,眼角已经开始有点细纹。这八年,把自己熬得不像样子。

拉开门走出去之前,我拿起手机,找出陈长荣的号码,发了条消息:“我到公司楼下告诉你。”

然后我把手机揣进兜里,锁上门。

凌晨两点半的街道很安静,路灯昏黄,连个人影都没有。风有点凉,我裹紧了外套。

等了五分钟,才打到一辆车。

上车后司机从后视镜看了我一眼:“这么晚加班啊?”

我说:“算是吧。”

他说:“不容易啊。”

看着窗外一闪而过的路灯,心里说不上是什么滋味。

有愤怒,有委屈,但更多的是一种说不清的复杂。

我告诉自己:今晚去,不是为了陈长荣,不是为了那点老交情。

是为了我自己不能出事。

02

公司大楼一层大厅的灯还亮着。

我刷了门禁卡,滴的一声,大门打开。楼梯口的感应灯亮了一排。我往二楼走,东走廊的尽头就是数据机房,透过玻璃门能看到里面人影晃动。

推门进去的一瞬间,没一个人注意到我。

办公区不像我待那会儿的样子了。

原来我的工位现在堆满了杂物,显示器旁边还贴着卡通贴纸,大概是徐嘉欣贴的。

茶水间地上散落着一次性纸杯和外卖盒子。

几个同事看到我,表情复杂。

“梓琪来了。”有人低声说了一句。

我点了点头,直接往机房走。

机房的门半开着,里面传来一个女人的哭声,断断续续的,像是哭得很累又停不下来。

我推开机房门,看到徐嘉欣坐在地上,笔记本电脑摊在面前,屏幕上全是红色报错信息。她眼睛红肿,妆也花了,整个人像是瘫了一样。

看到我,她愣住了,然后像是找到了救命稻草:“梓琪姐……”

我没理她,直接走到机柜前面。我的脸出现在显示器上,屏幕反光里能看到自己的样子。

“别碰那些东西。”我说。

“啊?”

“我说别碰那些配置。你已经搞砸一次了。”

她被我说得脸色一白,嘴唇哆嗦了一下,没敢再说话。

我把U盘插进服务器,调出系统日志。

屏幕上的代码快速滚动,我一行一行地看,越看心越沉。

数据库被勒索病毒加密了,看加密算法已经是现在市面上最凶的那几种。

我迅速浏览了一下日志时间线,发现病毒是从公司内部系统传进去的。

“数据库最后备份是什么时候?”我头也不回地问。

没人回答。

我转过身,看着徐嘉欣:“我问你最后一次全量备份是什么时候?”

她低着头,声音像蚊子哼:“我……我不知道。”

“不知道?”

“我接手的时候就乱得很,备份策略我不会配,就……就没动。”

我重新转回去,继续看系统日志。一边看,一边压着火气。

“你不会配?交接文档里备份策略的步骤写得清清楚楚,一步不差你照着做就行。”

“那个文档我看了,但是看不懂。那些指令太老了,不是现在的主流工具。而且……”她顿了一下,“而且陈总说我刚来,可以先熟悉业务,备份系统以后再说。”

以后再说。

我盯着屏幕上那行报错代码,忽然觉得累。

“你出去叫陈长荣过来。”我说。

“陈总在办公室里……”

“那就让他出来。”

徐嘉欣爬起来,拍了拍裤子上的灰,低着头走出去了。

我一个人站在机房里。

服务器风扇呼呼响,空调冷风直吹后背,我拉了个凳子坐下,继续翻系统日志。

一边翻,一边努力回忆三个月前做的最后一次备份在哪里。

大概过了十分钟,陈长荣才过来。

西装外套没穿,白衬衫袖子卷到胳膊肘,脸上挂着那副熟悉的假笑。

开门第一句话就是:“梓琪,辛苦你这样跑一趟。”

我没抬头:“坐吧。”

他愣了一下,拉了个椅子坐下了。

“陈总,数据库现在什么状态你清楚。”我盯着屏幕,“这东西短时间内弄不出来。而且需要专用工具和离线备份环境。你这边的环境不行。”

“那你有什么办法?”

“有。但做之前需要谈清楚费用。”

陈长荣脸上的笑收了一下,但很快就恢复了:“梓琪,咱们这么多年关系了,小事情不用搞得那么正式吧。”

“小事情?”我转过身看着他,“陈总,你公司几个上市客户的审计数据全都在这套数据库里锁着。”我看着他,“如果修复不了,不仅你公司赔偿客户,我自己也跑不掉连带责任。所以我今晚来,不是为了帮你,是为了我自己。”

陈长荣脸沉下去:“那你什么意思?”

“意思就是,系统修复可以,但需要按市场价出方案报价。”

“报多少?”

“正常市场价十万。”

“十万?”他一下子站起来,“梓琪,咱们不至于吧?”

“我给你算一笔账。”我把手机银行的转账记录调出来给他看,“三个月前我离职那天,财务发给我最后一个月工资,还差一千二百块钱,你让财务扣了我。理由是我上个月请了一天半的事假。陈总,你有印象吗?”

他张了张嘴,没说话。

“我连一千二百块钱的假你都不肯放过。现在跟我说不要搞得太正式?”

屋子里安静了。

陈长荣低着头,手指在腿上敲了几下。过了一会儿,他抬头说:“梓琪,你说的对,之前是我不对。”

“但是,现在这是公司的命脉。你救救我。”

“十万,签合同。”

“可以。”

他掏出手机,拨了个电话:“把合同模板拿过来。”

我看着他打完电话,心里忽然很平静。我终于能跟这个人好好谈一次钱,不用再听他画饼,不用再忍气吞声。

合同送过来了。我拿起笔,写下自己的名字,然后把合同推到他面前:“签字。”

陈长荣拿起笔,签了字。

我拿起合同,核实了一下,然后站起身:“好了,准备开工。你在外面等,任何人不要进来。”

“好。”

他站起来往外走,拉到门把手的时候忽然停下,回头看了我一眼:“梓琪,你真的不一样了。”

我没回头看他。只说了一句:“陈总,是你让我变成这样的。”

打开网易新闻 查看精彩图片

03

机房的门关上之后,我一个人站着。

顶灯开得很亮,白光打在深灰色瓷砖上,映出我自己的影子。服务器运转的嗡嗡声在耳朵里响着,像心跳一样。

我拉过键盘,手指放上去,调出系统管理后台。页面刷出来的瞬间,我愣住了。

整个系统架构跟我走之前完全不一样了。

数据分区被重新划分过,日志存储路径改了,连核心数据库的字符编码都被改动过。最要命的是,几个关键容灾节点被彻底关闭了。

我盯着屏幕,脑子里嗡嗡响。这三个月,徐嘉欣到底做了什么?

我在系统日志里翻了一遍,找到了改动记录。

改动日期是徐嘉欣入职第一天到第三周之间,连续做了二十几次配置变更。

没有一次备份,没有一次通知,没有一次回滚计划。

我握紧拳头,指甲嵌进掌心,深吸一口气,才压住那股想砸东西的冲动。

我拿手机拍了三张屏幕截图,发给自己。然后我调出修复工具,开始逐步拆解被加密的文件结构。

大概过了半个多小时,外边传来敲门声,很低,敲了三下。

“梓琪?”

老刘的声音。

我从椅子上站起来,走过去打开门。老刘站在门口,手里攥着个黑色U盘。

“给你看个东西。”他说。

“什么东西?”

“你最好自己看看。”

他把U盘插在我旁边那台备用电脑上。屏幕亮了,弹出来一个加密文件夹。

“你从哪里弄到的?”

“我接管了加密日志。今晚系统崩了之后,我查了内网通讯记录。”他压低声音,“你自己看。数据库不是被外网攻击的,是从内网发起的,而且是今天刚部署的代码。”

我盯着屏幕,脸都白了。

老刘说:“梓琪,事情可能没你想的那么简单。”

我点开文件夹,里面是一个日志文件,记录着数据库近三个月内的所有指令流水。我拖动进度条往下翻,大概拉到第三页的时候,我停住了。

一条清晰的记录:三个月前我离职后的第三天,有人在系统里执行了一次全量删除操作。删除的内容,是我过去三年里所有历史备份记录。

删除人账号:徐嘉欣。

但那个操作流的登录IP地址,是陈长荣的总裁办公室。

“这个日志我还不敢外传。”老刘说,“但你要知道,你不是无缘无故被叫回来救场的。现在的烂摊子,是他们自己弄出来的。”

我关掉文件夹,拔出U盘,攥在手心里,好一会儿没说话。

“老刘,你帮我个忙。这件事我自己来处理。”

“你说。”

“这个U盘里的东西,先不要跟任何人说。包括陈长荣。”

“你打算怎么做?”

“我还没想好。但我要让他们自己把账算清楚。”

老刘犹豫了一下:“梓琪,你别干傻事。”

“不会的。”

老刘走了之后,我重新坐回机柜前面。手心里却一直是那枚U盘的触感——凉的、硬的,像是握着一把能砸烂这块天花板的石头。

我打开数据库控制台,开始执行修复脚本。一行行代码在屏幕上滚动。我脑子转得飞快,把最近几个月发生的事情全部串联起来。

徐嘉欣删我的备份记录,陈长荣知道。

陈长荣默认删我的备份,是为了让我在这个公司彻底没有存在感。

他们以为删掉我的备份,公司就可以完全摆脱我。

但偏偏系统出事的时候,只有我能救。

我嗤笑了一声。真讽刺。

修复脚本运行到一半,界面突然跳出一个提示框:“数据库日志文件占用异常,是否启动压缩清理?”

我犹豫了两秒,点开日志管理器看了一眼。翻到最后一页的时候,我愣住了。

日志末尾附加了一个隐藏的恢复节点的快照。快照生成时间是我离职当天。

也就是说,在我正式离职之前,这个备份就已经存在了,但我自己的离职交接文档里没有记录过它。没有人知道这个节点。

我盯着屏幕,心跳越来越快。

这很可能是我唯一一次悄悄“查账”的机会。

如果启动这个节点,我不仅能把数据救回来,还能查看过去三年里公司服务器上的全部操作记录。

包括陈长荣做的那些见不得光的小动作。

我的手悬在键盘上方。

脑子里的最后一丝犹豫正在消失。

04

我启动了那个隐藏节点。

屏幕上闪过一串代码。看着进度条一点点往前推进,我脑子里却在反复盘算另一件事:等数据修复好之后,要怎么办?

一个很现实的问题摆在面前:合同签了,五万块能拿到手。但我还想让陈长荣和徐嘉欣为自己的行为买单,尤其是徐嘉欣删除备份记录这件事。

备份记录被删,按行业规范讲是严重违规。如果是系统内部处理,最多通报批评。但如果曝光给客户,那陈长荣整个公司都要吃官司。

这个念头在脑子里一闪而过,很快又被压了下去。

不行,不能用这种方式报复。

那些人里还有老刘,还有其他普通同事,不能为了报复陈长荣,把所有人的工作都搭进去。

但也不能就这么算了。

我决定等修复完成之后,当着所有人的面把备份记录的事捅出去。

让陈长荣在全公司面前交代清楚,然后老老实实付钱。

至于徐嘉欣,她不配让我认真考虑如何对付她。

这个人根本不重要。

我靠在椅背上,长长吐出一口气。揉了揉发酸的眼睛,看到机房门上那个小窗户外面,站着一个人影。

徐嘉欣。

她站在走廊里端着杯水看着我。对上我的目光,她赶紧低下头,转身走了。

我没理她,继续盯着进度条,心里越来越清冷平静,像是在看着自己的过去在屏幕上一行行消失。

此刻在办公室里的陈长荣坐在办公椅上。

他给财务打了个电话,让她把之前扣宋梓琪那一千二百块钱的工资单找出来,补上。

财务在电话里有些惊讶:“陈总,这都三个月了,而且离职员工补工资需要流程。”他暴躁打断:“按我说的做,明天上班前处理好。”

挂了电话,他烦躁地转着笔。

他一开始还以为,叫宋梓琪回来,给点钱就能打发了。

但现在他发现,坐在机房里那个女人,已经不是他当年认识的那个小姑娘了。

她的底气、她的语气、她看他的眼神,全都不一样了。她不再心虚,不再讨好。

陈长荣把笔拍在桌上,有些后悔当初的处理方式。但他很快安慰自己,只要宋梓琪把数据修好,以后就不会再有交集了。

机房里面,隐藏节点的修复进度已经走到百分之八十三。

屏幕上的代码开始变得更加复杂。

我敲击键盘的速度越来越快,从刚开始的从容不迫,慢慢变得紧张起来。

因为我发现,被加密的勒索病毒代码里,有一些非常隐蔽的陷阱。

如果恢复流程不小心触发了这些陷阱,不仅修复完的数据会再次出问题,还会反过来把整个服务器瘫痪。

我额头冒出了细细的汗珠。

我按了三下F5强制刷新控制台,然后输入一行新的指令。暂停现在走的通道,换另一路径。

进度条重新开始走动,慢慢走到了百分之百。

——叮。

修复完成。系统弹出提示框:“数据完整性校验通过,是否重启数据库服务?”

我点了“是”。

屏幕上闪过几个刷新窗口,然后显示数据库服务已成功启动。

我盯着那个界面,大口喘气。

成功了,数据在。我拿起手机拍下修复完成的界面,截图放好。

现在,该轮到他们了。

我推开机房门走出去。办公区所有人齐刷刷转过头看着我。陈长荣从办公室快步走过来,脸上带着明显松了一口气的表情:“修好了?”

我没直接回答,而是把手搭在机房门框上,抬起下巴,扫了一圈在场的人。

“修好了。”

大家都松了一口气的样子,甚至有人拍了拍手。陈长荣脸上露出真正轻松的笑容,伸出手想拍我肩膀:“梓琪,真有你的。”

我往后退了一步,他的手停在了半空中。

“陈总,数据修复完了。但是——”我环视了一圈会议室,最后视线落在徐嘉欣脸上,“有件事需要当着所有人的面说清楚。”

所有人都安静了。

徐嘉欣的笑容僵在脸上。

“你跟我说说,