最佳系统管理员意外

Ala*_*n H 87 untagged

我正在寻找有关您遇到的系统管理员事故的有趣故事。删除CEO的电子邮件,格式化错误的硬盘等。

我将添加我自己的故事作为答案。

Tim*_*and 133

我很高兴地发现了 linux“killall”命令(杀死与指定名称匹配的所有进程,对于停止僵尸程序很有用)和 solaris“killall”命令(杀死所有进程并停止系统,对于停止生产服务器非常有用)之间的区别在高峰时间的中间,让你所有的同事都嘲笑你一个星期)。

  • 去过也做过。之后我们在solaris-boxes 上给killall 命令取别名:alias killall='echo ORLLY?' =) (74认同)
  • 在 Solaris 上,“ifconfig -a4”(显示所有接口的 IPv4 信息)和“ifconfig -a 4”(将所有接口设置为 0.0.0.4)之间也有重要区别。 (29认同)
  • 此外,Linux 上的`hostname -f` 会打印 Linux 上的完全限定域名。在 Solaris 上,它将主机名设置为 `-f`。 (5认同)
  • @Commander,我本想为你的评论点赞,但在这一刻有 ** 正好** 42 个点赞......我只是 *不能*。 (4认同)
  • +1“哎呀,这风是登录到solaris的?” (3认同)

squ*_*man 73

我负责我们公司的网络代理,当时是 Netscape 的产品。在管理表单(它是一个基于 Web 的界面)中播放时,有一个很大的(我发誓它是红色的)按钮,上面写着Delete User Database。没问题,我想。让我们看看当我点击它时它给我的选项是什么。如果没有选项,肯定会有确认提示。

是的,没有确认。没有选择。没有更多的用户。

所以,走到 Solaris 系统管理员先生那里,说我迫切需要从磁带恢复,他回答说:“我不支持那个盒子。”

“呃,再来一次,”我反驳道。

“我不支持那个盒子。它在我要添加到备用轮换的清单上,但我还没有解决。”

“这台服务器已经投产近8个月了!” 我尖叫。

耸耸肩,他回答。“对不起。”

  • 对于那些抱怨那些讨厌的“你确定吗?”的人来说,这绝对是一个故事。对话框 ;) (50认同)
  • 我不确定你应该是那个对他尖叫的人...... (45认同)
  • 这真的不是意外 - 你故意按下了删除用户数据库按钮,来吧伙计...... (14认同)
  • 该按钮之后应该是两三个确认提示。删除用户数据库的有用功能如何?我完全责怪把按钮放在那里的程序员。以及数据库没有备份的事实。“天才可能有其局限性,但愚蠢并没有因此而被削弱。” (艾伯特哈伯德)。假设人类不好奇,粗心的猿类只是在制造灾难。 (7认同)
  • 是啊,你说得对。按下按钮并非偶然。实际上删除数据库是意外部分。任何... (5认同)
  • 更改表用户添加列 is_active tinyint(1) not null 默认 1 (2认同)
  • @jholloway - `tinyint(1)`?为什么不使用 `bit` - 每行节省 7 位! (2认同)

Jim*_*ran 66

许多年前,我工作的公司有一个客户,该客户每晚将 NT 4.0 服务器备份到Jaz 驱动器(如大容量 zip 磁盘)。

我们设置了一个批处理文件,它作为计划作业在一夜之间运行。每天早上,他们都会从驱动器中收集昨晚的磁盘,晚上离开之前,他们会插入序列中的下一张磁盘。

无论如何,批处理文件看起来像这样(Jaz 驱动器是驱动器 F :)...

@echo off
F:
deltree /y *.*
xcopy <important files> F:
Run Code Online (Sandbox Code Playgroud)

无论如何,一天晚上他们忘记放入磁盘。更改驱动器 F: 失败(驱动器中没有磁盘),并且批处理文件继续运行。批处理文件的默认工作目录?C:。我第一次看到备份程序破坏了它正在备份的服务器。

那天我学到了一些关于系统管理(和异常处理)的知识。

吉姆。

PS:修复?“deltree /y F:\*.*”。

  • ... 我们必须解释一下 Jaz 驱动器是什么?我真的有那么老吗?? (57认同)
  • 我不得不向很多程序员解释,当你尝试一个改变状态的操作,但可能会失败并让你处于之前的状态时,如果你要做一些危险的事情,你必须检查它是否成功如果您处于以前的状态。为什么我要解释这个? (5认同)
  • 这是一个 IOMEGA 的东西(还记得 Zip 驱动器吗?)是 Zip 驱动器的老大哥,它就像一个没有磁头的硬盘,只有盘片,放在一个带小窗口的塑料盒里面,当插入时驱动器,驱动器在其上插入了标头。像 1GB 或 2GB,昂贵且容易过热,因此不建议将墨盒留在阅读器内(这是 IOMEGA 老老板所说的) (3认同)
  • 呵呵,我喜欢 jaz 驱动器是如何通过与完全不相关的 zip 驱动器进行比较来解释的。 (3认同)
  • 如果它让您觉得自己变老了,那么有些系统管理员以前从未见过 deltree。 (2认同)

小智 61

root@dbhost# find / -name core -exec rm -f {} \;

我:“你进不去?好吧。DB 名字是什么?”

库:“核心。”

我:“哦。”

  • 天啊……哇。我会在心里记下这个,所以我永远不会这样做。 (4认同)
  • 从那时起,'file' 命令的使用被添加到清理 crontab 中...... :) (3认同)
  • 哦天哪.... (3认同)

Pow*_*101 60

我喜欢每个人都用“当我年轻/绿色”来限定他们的故事的方式,好像他们再也不会这样做了。即使是最有经验的专业人士也可能发生意外。

我自己最糟糕的时刻是如此糟糕,我仍然会心悸……

我们有一个带有生产数据的 SAN。对公司至关重要。我的“导师”决定扩展一个分区以释放一些磁盘空间。你能看出这是往哪里去吗?他说 SAN 软件可以在生产时间内实时执行此操作,并且没有人会注意到。警钟应该已经开始响起,但明显安静下来。他说他“以前做过很多次”,没有任何问题。但事情就是这样——他让我点击那个说“你确定吗?”的按钮!由于我是公司的新手,我认为这个人知道他在说什么。大错。好消息是 LUN 得到了扩展。坏消息是……好吧,当我开始在 Windows 机器上看到磁盘写入错误时,我知道有坏消息。

我很高兴我穿着棕色裤子。

我们不得不解释为什么 1TB 的数据在午餐时间消失了。那真是非常非常糟糕的一天。

这实际上是一个很好的原则——在你做一些你怀疑的事情之前,想象一下如果出现问题必须向管理层解释。如果你想不出一个好的答案来解释你的行为,那就不要这样做。

  • 我想要一个弹出窗口,上面写着“你想在继续之前打印你的简历吗?” .. 并且只有一个选项:“是” (18认同)
  • +1 最后一段 - “坐在你的手上”技巧,重要的一分钟反思 (17认同)
  • 在使用实时系统一段时间后,您会获得某种技能:对危险和不危险的蜘蛛感知。就像在根提示下按回车键之前多暂停一秒钟,或者确保 SQL 更新语句具有正确的 where 子句(已经在 select count(*) 中运行)。 (12认同)
  • +1,同上。我记得从一位系统管理员朋友那里听说,他的年度绩效评估存在关于他打字速度不佳的问题,他轻蔑地(并且正确地)驳回了这一点,“我没有得到快速打字的报酬。缓慢而周到。”。 (3认同)

Kar*_*zke 53

一天早上,当工作时间开始说它无法连接到非关键服务器时,Nagios 给我们发了 ping。好的,徒步前往服务器机房。这是一台旧服务器,是 02 年购买的戴尔 1650,我们知道 1650 一直存在硬件问题。PFY 按下电源按钮。没有。再次按下它,并按住它五秒钟以“强制开机”……这会覆盖 BMC 的错误保护,因为如果没有 DRAC,就无法在不打开机箱电源的情况下检查 BMC 日志。

机器开始POST,然后又死了。我站在它上面说:“我闻到了烟味。” 我们将服务器从导轨上拉出,其中一个电源感觉很热,因此 PFY 将其拉出并准备将盒子合上。我说,“不,那不是电源冒烟,那是主板冒烟。”

我们再次打开箱子,寻找燃烧气味的来源。结果发现是一个电感线圈和一个电容器从主板上的电压调节器上吹掉了东西,并且在所有东西上喷洒了熔化的铜和电容器粘液,使一堆东西短路,基本上弄得一团糟。

对我来说最糟糕的部分是认识到我已经吸了足够多的硬件来识别烧毁主板和烧毁电源的气味之间的区别。

  • 这份工作的选择标准包括:良好的嗅觉。杰出的。 (17认同)
  • 我的朋友将一组驱动导轨拧入磁盘,到目前为止,它们进入电路板并将其短路。漂亮的粉红色烟雾。很有辨识度。 (13认同)

小智 47

三天前(认真地)我远程登录到学校服务器,在 Windows Server 2008 文件服务器上安装 Service Pack 2。

我决定将所需的重启安排在深夜,因为那时教师不会登录完成他们的年终成绩单。我输入了类似的内容:

 在 23:59 “关机 -r -t 0” 

...这可能工作得很好。

但后来我又猜到了自己。我的“关机”语法正确吗?我试图通过键入来查看使用帮助

 关机 /h 

...并立即失去了我的 RDP 连接。恐慌,我打了谷歌的语法。快速搜索显示 Server 2008 版本的 shutdown 包含一个 /h 开关,它(您可能已经猜到)使机器休眠。

几分钟之内,老师们就开始打电话给我,报告说他们无法再打开或保存他们一直在处理的成绩单。由于我不在现场并且服务器机房被锁定,我不得不直接打电话给校长并引导她完成重新打开机器电源的过程。

今天我给大家带来了自制饼干作为道歉的形式。

  • 命令行有缺陷的用户界面设计的一个完美例子:“最小惊喜原则”发生了什么? (32认同)
  • 这就是我喜欢Linux的原因。`人关机`。我知道我不会给“男人”带来麻烦! (14认同)
  • 在 DOS/Windows 上是不是 /? (9认同)
  • ..但你仍然*总是*先尝试`/?`! (6认同)
  • 通常是 /? 在 Win 上,但有很多实用程序是从 UNIX 移植过来的或由 UNIX 人员编写的(包括相当多的 MS),它们是 -h 或 /h (3认同)

Mik*_*eyB 37

在以前的工作中,我们有一个很棒的自主系统,可以记录和归档进入、离开或留在公司内部的每一封邮件。

把你的整个邮箱都炸了?没问题!寻找某人一周/一个月/一年前发给您的一封邮件,但您不记得是谁发送的或主题是什么?没问题!我们只会将 2 月份的所有内容重新发送到一个特殊文件夹中。

在某个时候,公司的 CEO 需要监控竞争对手和被怀疑的内部销售人员之间的邮件。所以我们设置了一个脚本,然后每晚运行,并将前一天的相关邮件发送给 CEO。没问题!

大约一个月后,一个双加紧急问题的消息从高层传来。似乎当 CEO 正在阅读发送给 $OTHERCOMPANY 的邮件列表时,他遇到了这个:

To: somebody@$OTHERCOMPANY
From: CEO
Subject: CEO has read your message (subject line here)
Run Code Online (Sandbox Code Playgroud)

当然,CEO 是一个重要人物,他太忙了,无法在 Outlook 中单击所有“发送已读回执”对话框,并将他的客户端配置为只发送所有这些对话框。监控过滤器捕获的消息之一设置了读取接收请求。猜猜 Outlook 做了什么?当然扰乱了“秘密”监控。

我们的下一个任务:向邮件过滤器添加规则以阻止从 CEO 到该公司的外发已读回执。是的,这是最简单的方法。:)

  • 监控进出您公司服务器的电子邮件是不合法的?你生活在哪个国家? (7认同)
  • 但这在我的国家是不合法的。在所有。 (3认同)

jhe*_*itz 36

啊,我的大约是 10 年前,当时我的脚还湿漉漉的。我很高兴在所有程序员计算机上安装备用电池。他们还希望加载的软件能够警告停电并正确关闭。

所以我把它设置在我的电脑上,当然首先要测试一切,并确保一切正常。所以我断开了电源线,屏幕上出现了消息。“外部电源丢失,系统开始关闭”。

所以我想,嘿酷,它奏效了。但是出于某种奇怪的原因,我什至不记得了,它以网络消息的形式发送了该消息,因此公司中所有 200 多台计算机都收到了该消息,其中 100 多个用户是程序员。

是的,谈论大规模恐慌!

我在那个地方低着头一会儿!

  • 啊。我在大学里也做过“网络发送”的事情。我想“他们必须禁用这个”八丁!八丁!整个实验室里,电脑都在发出信息。我决定向网络管理员道歉,在途中,我经过的每台计算机都显示了这条消息。/叹 (10认同)
  • 哈哈我的一个朋友网发给全校的人“救命!我被困在114房间”,当然60秒后一小群人出现了,找出是谁发的消息 (10认同)
  • 哈哈,听起来像我的一个朋友在这里用“网络发送”和大约 1300 个收件人发生的事情:) (3认同)
  • 是的,耻辱就在那里!我的朋友没有离开他的椅子。也懒得接他的电话。 (3认同)
  • 我们实际上使用该功能在我的大专院校中对系统管理员进行了处理。用看起来像是来自他的虚假 AV 消息和系统关闭消息清除了所有计算机实验室。他强烈怀疑我们是罪魁祸首,但我和我的伙伴每个人都有不在场证明(我在上课时发送了第一个,而在我上课时他发送了第二个)并且计算机具有通用的实验室登录名 (2认同)

Ala*_*n H 35

我经常在 Solaris 机器上使用“sys-unconfig”命令来重置机器名称服务、IP 地址和 root 密码。我在用户系统上,我登录到建筑安装服务器并查找了一些东西(以 root 身份),然后忘记了我已经登录到另一台机器(非描述性的“#”提示)我运行了“sys-unconfig”命令。

# sys-unconfig     
        WARNING

This program will unconfigure your system.  It will cause it
to revert to a "blank" system - it will not have a name or know
about other systems or networks.

This program will also halt the system.

Do you want to continue (y/n) ? y

Connection closed

#
Run Code Online (Sandbox Code Playgroud)

那个“连接关闭”消息慢慢变成了恐慌……当我运行那个命令时,我登录的是什么机器。

最糟糕的不是我的同事给我带来的困难,而是一个月后我做了同样的事情。

  • 哦,经典的,“我在什么机器上??” 恐慌的时刻。我去过那儿。我感觉到你的痛苦。 (24认同)
  • 我的 shell 提示总是包含用户名和主机名是有原因的... (21认同)
  • 我也是。任何经历过的人都知道“冰冷的血液”这个词是什么意思。 (2认同)
  • 我曾经为登录不同的机器设置别名以获得不同的颜色背景,以便能够更清楚地识别我在哪台机器上。 (2认同)

Gre*_*han 27

我有一个很好的。诚然,这是在我担任系统管理员之前,但仍然与技术相关,所以我想我会添加它。

过去,我在美国空军担任卫星通信/宽带技术人员。最近刚从技校毕业,我发现自己驻扎在韩国。到达车站后不久,就有机会与在那里待了一段时间的“大人物”一起向南旅行,并实际在一些现实世界(即“生产”)设备上工作。

我和工作人员一起下去,作为一个热切的年轻技术人员,我正在咀嚼,对于获得通过实时军事语音和数据流量的实际设备的前景感到非常兴奋。

为了让我慢慢开始,他们递给我一本手册,转向预防性维护部分,并为我指出四个装满几个大型数字多路复用器的机架的方向。设备很简单,我们在技术学校涵盖了相同的设备。

手册的第一页阅读;“为数字多路复用器通电。将两个后部开关都转到 ON 位置,等待设备通电,然后开始测试。” 我抬头一看,已经通电了!

我肯定陷入了困境。不知道如何继续,我尽力了,“嗯……有点迷失在这里”看着前辈。

他看了我一眼,笑道:“不不不,没关系。清单的那部分你可以忽略。” 然后,当他注意到我脸上的表情时,(因为我们在学校被教导永远、永远不要忽视清单的任何部分,如果这样做肯定会造成死亡和破坏),他严肃地看着他的脸。面对并说:“只忽略那部分!跟随其余部分,认真对待!”

我尽职尽责地完成了多步骤 PM 说明,高兴得像蛤蜊一样,并为他们让如此低级的(尽管很聪明)的技术人员完成这项重要工作而感到自豪。

在这些巨大的多路复用器的第五和第六个预防性维护清单之间的某个地方,我开始注意到我周围的活动水平有所增加。电话铃声响起,人们快速移动。正在交换着古怪的眼神。

最后,一群人跑到我面前,由一位把我打倒的高级技术人员带队。

“嘿!我们看到数据流量出现严重中断,我们已经隔离/追踪返回到您正在处理的机架的路径!您看到任何奇怪的东西了吗……”

(那时他被另一个故障排除者打断了,她绕过我一直在执行 PM 的第一组多路复用器。)

“天哪!他们关掉了!他一直在关掉他们!!!!”

很快,我看着他们匆匆跑过手册的第一步,“把两个后部的开关都转到ON位置……”当高级技术完成后,他走到我面前,难以置信地问我在想什么的,通过关闭设备的关键部分。

我吓得魂不附体,把我一直遵循的清单递给他,发誓我根本没有偏离。我已经按照他的指示“严格遵守”。

过了一会儿,他笑了起来,指出问题出在哪里。

在手册中,预防性维护清单中的最后一步是:

“记录最终探头读数,擦拭前面板,清除所有灰尘和微粒,然后将两个后部电源开关转到 OFF 位置。”

:)

  • 这可能看起来很奇怪,但请记住,他在军队中。想象一下试图指挥一支军队,每个士兵都会说,“等等,你确定吗?这个命令对我来说听起来很有趣。” (2认同)

avs*_*len 26

这有点像系统管理员的意外……因为系统管理员偶尔不得不将大量机器从 A 点拖到 B 点(在没有电梯的建筑物中,A 和 B 似乎总是被几段楼梯隔开)。在当天的第 n 次旅行中,我在从地下室装载层上升了三个楼层停下来喘口气,与下来的人聊天,支撑着我在开放式楼梯间的内侧扶手上踩踏的全尺寸塔楼而且……好吧,你猜……我稍微失去了控制。它准确无误地直下井,当它到达底部时,呃......没有那么多功能!全部可回收部件:两根内存条、一个软盘驱动器和一张 ISDN 卡(上帝保佑 Hermstedt 工程人员!)。其他一切要么破裂,

靠着上帝的恩典,没有人走在下面,谢天谢地,这是我老板的第一个,所以我必须保住我的工作。一个小时左右感觉很不舒服。

道德:重力总是胜利!

  • @J.Pablo - 不,恐怕这是十多年前,当时相机很大,里面有化学物质之类的东西。如果我最近这样做,十分钟之内我就会在 YouTube 上看到后果! (5认同)
  • 你没有拍下残骸的照片吧? (2认同)

Mat*_*ewC 26

我正在为某人重新加载系统,在手动备份过程中,我问了他一个问题“您还有其他使用的程序吗?” 以及“你在电脑上还有什么重要的事情要做吗?”

他多次说“不”。

我被说服并格式化了驱动器。

大约 30 分钟后,他说“哦,我的上帝”,然后将双手放在头上。

事实证明,他已经在一个专门的项目中编写了超过 10 年的书本脚本。这是以前程序用来将用户数据保存在其程序文件目录中的时候,我错过了它。

呜呜呜。

他没有生我的气,但这是一种发人深省的感觉。

  • 你给他上了宝贵的一课:备份很重要 (7认同)
  • 光读这个真的很痛。如此痛苦。当然是教训,但是... (5认同)

Dan*_*dey 23

这没有发生在我身上,但是……

我在一家公司工作,该公司制作在客户端提供的 Linux 机器上运行的软件。我们基本上会“接管”机器,根据我们的规格完全配置它们,并进行所有管理和监控。本质上,我们是一个由 10-15 名系统管理员组成的团队,为数百名客户管理数千台服务器。错误是必然发生的。

我们的一个团队在服务器上发现了一些问题(我相信是备份),并决定他应该在服务器上运行 fsck。他停止了所有相关服务,确保系统最近有备份,然后运行 ​​fsck,但它抱怨文件系统已挂载。因为我们是远程的并且没有远程访问(DRAC、ILO 等),所以他无法执行 fsck,但他非常确定在挂载文件系统的情况下执行它是安全的,如果你小心的话。

他决定通过在他的根分区上运行 fsck 来尝试一下,结果可想而知——他损坏了他的根分区并且无法再启动。

困惑的他走过去和我们的团队负责人交谈。领导说他很确定你不能这样做,团队成员说“当然可以!”,拿起领导的键盘,向他展示你可以——通过在领导的根分区上运行 fsck。这完全损坏了他的根分区。

最终结果?由于团队成员的测试,没有丢失客户数据。两天的员工生产力损失了,但价值远远低于客户机器上的数据。为了记录?您可以在已安装的驱动器上运行 fsck,但只能验证数据。不是去修。那是团队成员的错误。

——

添加我自己的故事,我在同一家公司工作,并试图重置用户密码。我们的系统拒绝让我将其设置为他需要的密码,因为它会跟踪旧密码哈希值并拒绝让您复制密码。该机制很简单:它根据数据库中的最新哈希验证您的密码。

(并且为了记录,它需要是旧密码,因为它是一个共享帐户,并且确保每个人都知道新密码是不切实际的)

我决定进入用户数据库并删除新记录,以便使用旧记录。这一切都只是 SQL(运行一个古老版本的 Sybase),所以很容易。首先,我必须找到记录:

SELECT * FROM users_passwords WHERE username='someuser';
Run Code Online (Sandbox Code Playgroud)

我找到了他想保留的旧记录;前面还有两个。我决定聪明一点,只删除比旧记录更新的任何内容。查看结果集,看到数据库中旧密码是ID#28,新密码是ID#several千(系统很忙)。这很简单,所有旧行都 > 28,所以:

DELETE FROM users_passwords WHERE id > 28;
Run Code Online (Sandbox Code Playgroud)

没有什么比做一些简单的行修剪并看到“受影响的 212,500 行”更糟糕的了。幸运的是,我们有两个主数据库服务器(带有用户 ID),但是 Sybase(至少,我们的版本)不支持自动复制,因此它不会自动清除旧记录。获取 users_passwords 表的转储并重新导入它是一件小事。仍然,一个相当大的“哦,他妈的!” 片刻。

  • 更重要的是,这就是为什么您总是首先将“DELETE FROM xxx”作为“SELECT * FROM xxx”发出。然后仔细检查它显示的内容,然后将 SELECT * 替换为 DELETE。 (20认同)
  • 不,这就是为什么你总是先发出一个开始传输。然后,当您看到受影响的行比预期的多得多时,您可以发出回滚。 (14认同)

Rai*_*Rat 23

我个人最喜欢的实际上不是我的,我很高兴。 看看这里。

  • 哇。那很棒! (4认同)

JFV*_*JFV 22

我的另一个最爱:

在系统上设置计算机和本地激光打印机时,我有一个好主意,将它们都插入计算机的 UPS。是否曾尝试将本地激光打印机连接到台式机 UPS 上进行打印?好吧,如果你不知道,它往往会拉动所有的放大器......这会重新启动计算机......并且打印作业永远不会完成......!

曾经接到电话:'每当我打印时,它都会重新启动我的计算机并且不打印!!!'?

哎呀!

JFV

  • 大多数 UPS 制造商都说“不要插入激光打印机”,因为它们会使它们过载。 (2认同)

Ian*_*oyd 22

不带 WHERE 子句的 DELETE 语句,在客户的实时顾客数据库上。

  • “开始交易”FTW! (9认同)
  • 你在哪里* *之前*我消灭了他们的实时数据库! (6认同)

Jas*_*Tan 22

输入kill 1为根。init她所有的孩子都死了。还有他们所有的孩子。等等等等。哎呀。

我想输入的是 kill %1

在我意识到自己做了什么之后,我跑到了一台大毛包分拣机的控制面板,按下了紧急停止按钮。这阻止了机器将自己撕成碎片,因为我刚刚杀死了控制它的软件。

  • 谢天谢地有那个紧急停止按钮!:-) (2认同)

Wer*_*reW 20

在我职业生涯的某个时刻,我工作的公司的一项法律调查要求我们从“今天”开始保留所有电子邮件,除非另有通知。在存储我们交换环境的每日完整备份(每晚 1TB)大约一年后,我们开始耗尽空间。

交易所管理员建议我们只保留电子邮件的每 8 个副本。为此,我们让他们恢复了几天的交换数据库,提取了他们需要的电子邮件(标记为调查的特定人员)并重新存档。他们为我们所有的备份每 8 天发送一次电子邮件。选择第 8 天是因为 Exchange 有一个参数集,其中“已删除的项目”在数据库中保留 8 天。

在他们完成每个存档后,我会返回并删除任何比他们存档的旧的备份。

TSM 没有简单的方法来执行此操作,因此您必须手动从备份数据库中删除对象。

我编写了一个脚本,通过使用今天和相关日期之间的差异进行日期计算,该脚本将删除早于某个日期的所有备份。有一天,我不得不删除大约一个月的备份,除非我在计算日期时犯了一个错字,将日期输入为 7/10/2007 而不是 6/10/2007,然后运行脚本。我删除了整整一个月的数据,这是一个非常重要的诉讼的一部分。

之后,我在脚本中添加了一些步骤以确认您要删除数据,并向您展示它将要删除的内容......

幸运的是,他们甚至从未使用过我们努力保存的任何数据,而我仍然有我的工作。

  • 如果你在欧洲,你只会失去 1 天 :-) (28认同)
  • 每天 1 TB 的交换数据?哇 - 你们有 365 TB 专用于额外的 Exchange 备份?这是你要去那里的一些严重的存储。 (5认同)

小智 20

经过漫长的一天或性能跟踪和调整大型主机(你知道在所有备用备份站点同意它确实再次启动并完全同步之前需要几个小时的野兽)我伸出手指,输入满意的关机-p 现在在我的笔记本电脑提示符下,合上盖子,从主机中拔出串行电缆,期待一杯冰凉的啤酒。

突然,我听到了震耳欲聋的大型机停机的声音,而我的笔记本电脑还在愉快地显示 X。

在等待机器再次完全联机时,我决定我有时间让我的 ACPI 在我的笔记本电脑上工作,所以我从来没有想过关闭我的笔记本电脑。


mrd*_*nny 20

我们当时正处于停电状态,看到 UPS 以 112% 的配置负载运行。这不是什么大问题,因为我们当时在发电机上运行。

因此,我们四处拉动备用电源线以减少该 UPS 的用电量(我们有两个,一个比另一个大得多)。我们找到了运行服务器机房的网络交换机(这是带有公司所有内部服务器的服务器机房,面向客户的服务器位于另一个服务器机房)。交换机是一个大型企业级交换机,里面有三个电源。电源是 N+1,所以我们只需要两个就可以运行交换机。

我们拿起一根电缆,把它拔了出来。对我们来说不幸的是,另外两个插入了一个电源板,当插入它的两个电源上的负载增加时,该电源板立即爆炸。系统管理员随后惊慌失措并插入第三根电缆。交换机试图启动,将交换机的整个负载置于单个电源上。它没有关闭电源,而是在离我脸不到 12 英寸的地方爆发出一阵火花,让我跳回到服务器机架中。

出于本能,我试图跳到一边,但不幸的是我的左边是一堵墙,我右边的两个是一个非常大的 6'4" 设施人。我设法跳过他,或者可能通过他弹跳Compaq 机架(带有薄网面的机架),无需将整个机架放入机架中,也无需接触设施人员。

  • +1 令人印象深刻的飞跃。 (2认同)

l0c*_*b0x 16

这次事故并没有发生……但值得一提的是:

我被派往一个经常使用的数据中心,对新电路进行带宽测试。我到了分界室/IDF,在其中一个机架上为我的测试路由器找到了一个位置,建立了连接,并开始了测试。不幸的是,我完全没有注意到生产中的边界路由器不仅正好在下一个机架上(几乎在同一级别),而且它的品牌和型号也与我的测试路由器相同。

测试完成后,我开始将电源开关按到关闭位置(......想象一下它是慢动作......),我发誓,就在我施加压力时,我突然意识到我正在使用路由器关闭是生产中的那个。我的心跳停止了,我几乎……好吧,发挥你的想象力。

我离开数据中心的 MDF 时看起来吓坏了,脸色苍白,但同时很高兴我还有工作!

  • 如果它与我工作的地方相似,解决方案将包括快速移除有问题的手指并用大量胶带替换它。(然后打算安排机器停机以移除磁带,但将其推迟 18 个月,直到磁带最终失效为止)。 (21认同)
  • 哈哈……没想到!这本来是一个更好的故事。我可以想象数据中心网络工程师挤在一起,为问题提出不同的解决方案。也许他们中的一个人会发布(如果 SF 可用)这样的问题:“一旦被白痴技术人员推动,我们如何禁用路由器上的电源开关?” (+500 赏金点) (20认同)
  • 试想一下,这可能是那些地雷情况之一。当您的手指按下按钮时,您会意识到您所做的事情,并且您无法将手指移开,否则服务器将停机。所以你只能站在那里大声呼救。 (18认同)

And*_*oid 16

不小心在我的 Gentoo Linux 机器上安装了一个 tar.gz 文件在错误的地方,它留下了到处都是文件。这一定是在 1999 年左右,当时是 19 年(感谢下面的评论)

作为一个极客,我决定尝试让自己摆脱手动浏览每个文件的工作。

所以我试过:

tar --list evilevilpackage.tar.gz | xargs rm -rf

没过多久我就注意到 tar 还列出了程序正在使用的所有目录,其中包括“/usr、/var、/etc”和其他一些我真的不想消失的目录。

CTRL-C!CTRL-C!CTRL-C!为时已晚!一切都过去了,重新安装时间。幸运的是,盒子里没有任何重要的东西。

  • 我不想唠叨细节,但我很确定 Gentoo 是在 2002 年左右开始的 (10认同)

Spa*_*iff 16

我错误地删除了某人的帐户,将名称与我想删除的名称混淆了。奥普斯

很酷的部分是他们永远不知道发生了什么。接到他们无法登录的电话,有关我删除的帐户的费用下降了。

在与他们通电话时,我迅速重新创建了他们的帐户,将他们的旧邮箱重新附加到其中(幸好 Exchange 没有立即删除邮箱)并将其指向他们的旧用户文件。

然后我责怪他们忘记了我刚刚为他们重置的密码:)

  • +1 指责用户 (22认同)
  • 我在+1'你不得不使用这个借口的球和-1'对用户撒谎之间挣扎...... (9认同)

小智 12

作为我以前生活的一小部分,我管理了公司的文件服务器,一个 netware 4:11 box。它几乎不需要任何输入,但如果需要,您打开了一个远程控制台窗口。

习惯了一直用DOS,用完自然会敲“Exit”。对于 Netware,“exit”是关闭操作系统的命令。幸运的是,除非您先“关闭”服务器,否则它不会让您关闭。(使其对网络/客户端不可用)因此,当您在控制台中键入“退出”时,它会很有帮助地说,“您必须先键入”下来“才可以退出”

问我有多少次 1:在控制台会话中输入“退出”和 2:乖乖地输入“向下”然后“退出”这样我就可以“完成我想要做的事情”

然后电话就开始响了......

哈哈

  • 不止一次?? (8认同)
  • 这就是我使用 ^D 注销的原因。它只是结束一个 shell 会话。 (2认同)

小智 11

另一个没有发生的故事(呸):

我们每天都虔诚地对磁带驱动器进行增量备份。

我们碰巧写了一个包含数据的磁带以运送给其他人。他们说'我们不能读你的磁带'。事实上,我们也不能。或者实际上是任何磁带。

我们又买了一个磁带机,屏住了呼吸,直到我们安装了它。

故事的道德启示。始终确保测试备份。


JFV*_*JFV 11

我最后工作的地方,我的同事在服务器机房里带着他的孩子(为什么?我不知道!)。

他确保它们远离服务器,并向他 5 岁的孩子解释说他不应该触摸任何服务器,尤其是不要碰任何电源开关。

事实上,他把它们放在门附近......(你能看到这是哪里......?)

男孩没有碰任何服务器电源按钮……不,这太容易解释了。相反,他点击了靠近门的大红色按钮......关闭整个服务器机房电源的按钮!

电话线立即开始亮起来,想知道为什么 Exchange、文件服务器等不可用......想象一下试图向 CEO 解释这一点!

-JFV

  • 我们有一个快递做同样的事情。虽然不是系统管理员的意外,但在那之后大红色按钮上突然出现了一个奇怪的金属盒子。 (4认同)

sta*_*san 10

我曾经与APC UPS监控软件发生过争执。作为一家小公司,我们有几个小型 UPS,并设置了各种服务器来监控它们。大多数服务器是 Linux,但有一些运行的是 Windows,因此使用它们是因为 APC 软件仅适用于 Windows。

然而,当时的 APC 软件是硬编码的,以假设它正在与之通信的 UPS 也在为其运行的 PC 供电!这台服务器不是这种情况,但我发现告诉它停止为时已晚。同样不幸的是,首席程序员正在向合作伙伴演示公司产品 - 这是一个基于网络的应用程序,在同一台服务器上运行,我不希望 APC 软件关闭......


Ant*_*ony 8

我正在向新系统管理员介绍 Service Manager 应用程序。我说“如果你需要停止这项服务,你会点击这个按钮,但你不应该在白天这样做。” 你永远不会相信她的鼠标按钮有多灵敏!

两分钟后,服务再次启动,似乎没有人注意到。


Kev*_*bet 8

我在北美的一家无线供应商工作,并为我的团队中的一个人完成了一些工作订单的培训。前几个晚上我一直熬夜(我们在维护窗口期间做所有事情),但他做得很好并说他必须自己学习,所以我让他离开了我的手机和寻呼机。第二天早上8点起床,我登录并检查了配置。

变化是我们为BlackBerry添加了一个新的 IP 地址池,我们添加的池大约有 10000 个地址。为此,我们在路由器上添加路由,这些路由指向执行所有呼叫处理的刀片上的处理器地址(本质上它像代理一样工作)。此外,我们登录处理器并配置 IP 池,并链接 IP 池以供我们的无线用户使用。但是为了测试,我们通常在一个处理器上配置它(实际上是启动手机并测试所有功能),然后将配置移动到我们想要的实际处理器上。

快进两周,我从我们的控制中心接到一个电话,说有很多电话是关于一些间歇性黑莓问题的,他们看过的少数黑莓似乎在一个公共池中循环,但不是真的很确定发生了什么。我只花了大约 5 分钟就意识到这是我的同事两周前刚刚添加的新池。没过多久就看到路由器中有两条路由,一条通向测试处理器,另一条通向正确的呼叫处理器。就是这样,他忘记删除到测试处理器的路由,它取代了正确的路由。

本质上,黑莓将连接到网络,连接到代理以获取其 IP 地址,代理将使用错误的路由从池中提供一个地址,黑莓将尝试与RIM中继通信,并且响应将被路由到测试代理并且永远不会返回给用户,本质上意味着没有连接。

我们很幸运,因为黑莓有一种行为,如果他们无法联系中继,他们将断开/重新连接到网络,但尽管如此,一些 RIM 设备在长达数小时的时间内没有服务,直到他们能够循环到工作水池。我回想起来,当我再次检查工作时,我只检查了这个人的新代理配置,我从来没有检查过路由配置,因为这个人以前在骨干团队工作,路由是他的事。哎呀!

那天下午我把它修好并给他打电话,他的日子过得很顺利,但我一开始很抱歉,但我要毁了你整个星期。一年后,这个故事仍然围绕啤酒出现。


Bil*_*l B 8

在我下楼的过程中,被一个楔在机架后面的塔式服务器绊倒,并撞到了主 Cisco 路由器的背面。从而揭示了电源线在Catalyst 6500前面的电源中实际安装的松散程度。

是的。我们现在在服务器机房的挂钩上挂了一个安全帽。上面写着我的名字。


use*_*278 7

回到那天,当我非常年轻时,我需要在我的用户 PC 上安装 AV 软件,因为似乎没有人拥有它。所以我花了一些时间弄清楚如何进行远程安装,而不是在 40 或 50 个桌面上闲逛。远程安装运行完美,一切似乎都很好,直到各种经理来我办公室抱怨他们无法登录。

事实证明,一些人在他们的机器上安装了 Symantec AV,这与我使用的 McAfee 软件根本无法共存,并且会在尝试登录后锁定机器。

幸运的是,如果您在他们尝试登录之前到达机器,则可以远程禁用该服务,因此我设法获得了修复它的积分,而不必重建所有高级管理人员的 PC...


MrV*_*dez 7

我阿姨让我修理他们的电脑。他们说它无法启动,并且已经持续了 2 周。我怀疑是 BIOS 或操作系统。

我坐在他们的电脑前。我蹲下按电源键。我抬头。

BIOS通过。那挺好的。

操作系统启动。那挺好的。

我四处移动鼠标,想着可能是输入设备有问题。输入设备没有问题。

我打开了她的文字处理器。它跑了。

我打印测试打印机。它打印了。

说到这里,我站起来告诉我阿姨(正在看着我),电脑没有问题。在我坐下之前,她声称不是那样的。

我现在可以向我的家人声称我很好,只要坐在电脑前,我就可以修理任何一台电脑。

  • 我经常走进房间就吓得电脑工作。 (19认同)
  • 一个著名的 AI 公案:一个新手试图通过关闭和打开电源来修复损坏的 Lisp 机器。奈特看到学生在做什么,严厉地说:“你不能在不了解发生了什么问题的情况下,仅仅通过重启机器来修理机器。” 奈特关上又开着机器。机器工作了。 (14认同)
  • @sysadmin1138 能够做到这一点是这项工作的先决条件。 (8认同)
  • 我的父母有问题时会打电话给我,通常只要让我打电话就足以解决问题。 (2认同)

cop*_*152 7

当我第一次被首席管理员聘为系统管理员时……在第一周内,我们收到了一台全新的戴尔服务器……Windows Server 2003……这是他的小宝贝,直到午夜我被偷偷叫到服务器机房一个星期六晚上,他从它里面清除了大量恶意软件实例,因为他在没有杀毒软件的情况下在部署之前就用它在网上冲浪了!!!

恶意软件清理是我有很多经验的事情,但由于这是一台服务器,我进行了格式化并重新安装以更加安全。

我从来没有跟他说过这件事。他知道自己搞砸了皇室。


DWi*_*ams 7

更多的是个人脚本编写而不是系统管理,但是......

我正在编写一个 Perl 脚本来充当一个宏,它可以从Banshee 中检索正在播放的信息,并使用程序“xte”将其作为键盘事件逐个输入。这样,我可以让它在没有任何特殊交互的程序中工作,就像我输入它一样。

好吧,我几乎完美地编码了这件事。我决定在一些随机游戏中测试它。调出聊天的按键是shift+ enter。现在为了做到这一点,我需要按住它shift,按下enter,然后松开shift。不幸的是,我匆忙忘记了“发布班次”。我运行了脚本,这导致了我的 shift 键被锁定的有点搞笑的副作用。我想“没问题,我就去终端并手动输入行以释放班次”。不幸的是,众所周知,Linux 区分大小写。它不会接受所有大写的命令,因为我必须输入它。我不能“反移位”或类似的东西。

这导致我访问网站并使用鼠标将单个小写字母复制并粘贴到终端中以形成我需要关闭它的命令的五分钟寻宝游戏。


Sam*_*Sam 7

不是一个大问题,但肯定是大约 10 年前的“我脸上的鸡蛋”。我一直在查看旧硬件清单并重新映像磁盘,以准备卸载硬件。试图找到最有效的方法来做到这一点,我用 Norton Ghost 的副本和要应用的图像构建了一个 CDrom。您打开机器电源,并在 POST 期间将 CD 放入驱动器。机器会从 CD 启动并自动重新映像。工作得很好。

当我制作 CD 副本以便让更多机器并行运行时,问题就出现了。我完成了最后一张 CD 的刻录,关掉了我的台式电脑,回家了一天。那么你可以猜到第二天早上发生了什么。我进来,打开我的电脑,然后去煮咖啡……

当我出于某种原因回来时,我的机器不在域中并且不接受我的密码......

我刚刚弄清楚发生了什么,并在其他人当天到达时开始咒骂。是的,他们并没有让我忍受那一段时间。


小智 6

比我想象的要早得多,我是公司的技术人员,并与一些顾问一起安装他们的应用程序。硬件是 DEC VAX 并使用 HSC50 存储服务器。顾问们花了一天的大部分时间进行安装,在他们离开后,我决定使用 HSC50 的逐位复制实用程序将系统磁盘备份到一个空磁盘。拷贝完成后尝试重启,发现源盘和目标盘的名字对调了,把空白盘一点一点的备份到了系统盘上。

我能够在系统磁盘上重建 VMS,并重新安装大部分应用程序,但我认为它从来没有奏效过。从那以后,如果我在做复制/备份/等操作,我会在继续之前写保护源磁盘。(现在写保护开关不再存在,我在按Return之前查看命令。)


skr*_*ggy 6

由我的一名员工完成...完美的例子,说明了为什么要清楚地标记您的服务器:

派我的员​​工去 colo 重建辅助 MSSQL 数据库服务器(上面没有当前数据)。小一号正在积极使用中。您可能可以预测这个故事的其余部分...到达那里后,他重新启动了服务器,开始安装并重新格式化驱动器,只是让我打电话给他并询问他为什么主数据库服务器不再响应。(呵呵)


And*_*ley 6

我的发生在6个月前。我们刚刚为 PHP/MySQL Web 应用程序切换到新服务器。由于我必须选择操作系统,所以我选择了我最熟悉/最舒服的一个:Ubuntu。

我们有许多备份脚本,它们将由 cron 每小时、每天等运行。转换进行得很顺利。当我将 MySQL 数据库从旧服务器转移到新服务器并切换 IP 时,只有大约 2 分钟的停机时间。

然而,几周后,我在命令行中使用 MySQL 并删除了一些不再需要的旧测试记录。因为我首先是程序员,其次是系统管理员,所以我养成了先输入分号 (;) 然后输入命令的习惯。好吧,当我准备将 WHERE 子句添加到我的 DELETE 查询时,我不小心按下了回车键。...哎呀。

Query OK, 649 rows affected (0.00 sec)

“没什么大不了的,”我想。“每小时备份4分钟前刚刚完成,可能一共丢失了3条记录,我赶紧去备份目录恢复,问题解决了。

...然后我注意到备份上的时间戳。 它是 17 天大。 没有其他备份。我刚刚清除了不到 17 天前输入的系统中的所有内容。

事实证明,Ubuntu 的 cron 守护程序中存在一个错误,导致它无法运行名称中任何位置带有点 (.) 的脚本文件。它不会引发错误,因此没有证据表明存在问题。它只是拒绝运行它。我们所有的备份脚本的名字中都有点。他们以前工作得很好,但现在不行。

我学到的教训:

  1. 在您真正想要运行查询之前,不要在 MySQL 的命令行上放置分号。
  2. 恢复之前检查备份文件上的时间戳。
  3. 测试您的备份脚本并确保它们确实有效。

  • 实际上,这不是一个错误。这是一个特点。当带有 conffiles 的包(例如,/etc/cron.daily/foo)升级但您已经编辑了 conffile 时,您可以选择保留更改后的版本或用新版本替换它。如果你选择保留你的,新的将重命名为 foo.dpkg-dist,否则你的将重命名为 foo.dpkg-old。debian(和 ubuntu)的 run-parts 程序拒绝运行带有“.”的文件。为了避免同时运行 .dpkg-old 和 .dpkg-dist 版本。 (9认同)
  • 有关详细信息,请参阅 run-parts(8) - “*如果 --lsbsysinit 选项和 --regex 选项均未给出,则名称必须完全由大写和小写字母、数字、下划线和连字符组成。*” (5认同)

Stu*_*ard 5

我接到电话调查来自 Windows 机器的警报,该警报指示监控系统没有许可证文件。我打开命令提示符并开始调查问题,发现基本的 Windows 命令甚至都不存在。

远程运行脚本的系统管理员编写了一个脚本,该脚本使用 del 命令删除由根和子文件夹指定的文件夹,其中包含在环境变量中指定的文件夹。如果未设置环境变量,它会默默地删除整个分区。

当被告知时,系统管理员非常惊讶,他们通过在自己的笔记本上运行上述脚本来确认该操作,从而也将其丢弃。

令人惊奇的是,Windows 运行良好,直到我们重新启动服务器。只有吝啬的监控软件抱怨。

它是一个政党的辅助 Active Directory 服务器。哎呀。