终于有时间写下这件事情,亲爱的朋友们,2006年5月30日,这是我应该记得的一个日子,在早上7:30分,我敲下了五个字符,算空格便是六个字符——“rm 001”,当时我正在做一个客户数据库备份,其实隐患早已埋下,001 002 是两个数据库目录,一个是正在使用的,一个是调整方案时候备份的,我在两个月时间里一直备份的是002目录,直到我删除了工作目录才意识到这一点,这便是噩梦的开始。
首先我花了48小时时间确认无法恢复,这里的无法恢复指的是无法100%还原被删除的数据,我询问了上海多家数据恢复公司和个人,要价几千到几万不等,包括自己尝试用TCT恢复,这个用在刑侦领域取证的数据分析工具显然也力有不足,不过TCT的确是比较强大的。同时我残留的备份目录是4月10日的,就是我一直以来反复备份的002目录。48小时后,我无奈的通知客户,请使用4月10日版本,就是说,丢失了50天的数据。
然后我便开始迎接第二轮暴风雨,包括各种咆哮和辱骂,然后便是漫长的谈判,结果是,我为此将在一年里损失至少3.6万的收入。
也许有一天,你不小心执行了一下这个命令:
% rm * .foo
然后发现你把“*”删掉了。你应该把这当作人生的一课。
当然称职的系统管理员应该定时备份系统。所以你最好问问他们手中是不是有你的文件备份。
“人生的一课”?没有任何一个其他厂商用这样的态度对待一个有缺陷的产品。“大人,我知道您的油箱炸了,但这是人生的一课。”“陪审团的先生女士们,我们将证明电锯保险开关的失效不过是给用户上的人生的一课。”不错。
删除是永久的
UNIX没有undelete命令。许多其他更安全的系统则只是标记被删除文件所用的块为“可被使用”,然后把它移到一个特殊目录下。如果磁盘满了,这些文件块才会被重新使用。这一技术不是什么火箭科学,Macintosh在1984年就提出了“回收站”的想法,而Tenex早在1974年就采用了这一技术。连DOS也提供了简单的undelete功能,虽然并不总有效。
这四个问题互相合作,制造了无数无法恢复的重要文件。解决的方法早就存在,但UNIX“标准”版中却从来没有提供。
欢迎来到未来世界。
“rm”就是终结
摘自《UNIX痛恨者手册》
这是你人生中的一课
LeoCraFT 发布

回复评论