从一堆PDF文档中翻出来了的一个文档,估计下载了有很长时间了。
讲述的是93年以前,在unix管理员身上发生的一些糗事,其中一些故事当然也在我身上发生过,有些是我操刀的,有些是在我眼皮底下看着别人用迅雷不及掩耳盗铃之势干的。
54页的文档,其实是把在comp.unix.admin新闻组上讲述的一些故事编辑起来。
看完后,对这些“犯下”的错误,大致可以归纳为下面几类:
手一抖的情况 这大部分发生在删除某些文件的时候,比如
本来是想执行下面的命令:
cd / rm -rf /tmp/*
结果,手一抖,变成下面这个样子了
cd / rm -rf /tmp *
手一抖,多出了一个致命的空格。 当然你也可以把这个归纳为不小心。脑子一时短路的 你也可以说是不小心,比如本来是想对
/dev/sdb1做mkfs操作,结果写成了/dev/sda1。
比如看到/usr/bin/下面有一个目录,是以前留下来的,想删除,以为目前是在这个目录下,于是执行rm -rf *,执行完后,才发现自己是在/usr/bin目录下。
还比如做chmod,chown的时候,后面接的目录搞错了。
说了一个发生在我身边的故事。
一个oracle dba,我的同事和我,连续几天为一个项目加班,终于到最后一天了,凌晨2点的时候,一切都正常了,所有测试都通过了。 于是大家收拾东西准备走人了。
这个时候oracle dba不知道怎么突然说,等下,有几个文件的属组还没有修改,该一下比较好。于是他就执行了下面的命令
chown -R oracle.oracle *
结果发现执行的时间比想象的要长,他突然说了一句,“噢,我在/目录下”技能问题的 这一般出现在刚进SA行业或者没有什么经验的人,比如文档中提到一个例子,一个人刚来,他想在系统上挤出一些空间,当他看到/dev目录下有大量的文件,而且绝大部分文件大小几乎为0时,于是他就做下了这样的事情
rm -rf /dev/*
很干脆,当然如果是现在的操作系统,这个操作也许还不至于致命,当时不要忘记了这是发生在1993年之前的故事。一时混乱的 如果连续做几个小时的系统管理和维护操作,人的精力是消耗得很厉害的,要继续保持严禁的逻辑思维确实有一点的难度。
于是这个时候就会发生一些在平常根本就不会发生的情况,其实3)列举的也算是这类情况。
不过我这里想说,主要是在写一个单行脚本的时候,特别是用到了大量的管道操作,用到了参数多余牛毛的命令(比如find),出错是很容易发生的事情。
我经常性的在find,tar,rm这些命令组合的时候会犯一些逻辑错误,导致误删除一些文件。
罗唆了这么多,大家有时间,可以看看这个文档,把自己的经验建立在别人的辛酸上吧 :)
下载unix管理员恐怖故事 (要注册)