数据的灾难
从来没有备份数据的习惯,从来不使用回收站,甚至以前从来都是用root用户操作计算机。总是觉得,硬盘一般怎么会坏呢?笔记本一般怎么会丢或者会坏呢?谁会无缘无故地执行rm * 呢?既然要删除,肯定是不想要的东西,还要先放到回收站,再清空回收站来释放磁盘空间,这是何苦呢?总是su,或者sudo,总是要输密码,多浪费时间,多费键盘。
很庆幸的是,我的硬件至今没有坏也没有丢失。也已经不再使用root来进行日常工作。使用sudo的时候,不厌其烦地输入密码。开始有了点备份的意识,定期会把一些重要的东西至少拷贝到别的机器上一份。但在rm的时候,依然没有确认提示。在我的Nautilus中,依然包含了绕过回收站的删除命令。依然总是直接删除,并且即时有确认提示,也视而不见,直接点确定。
就在今天,我的本命年来临的第五天,遭到了坏习惯的报应。做了很久的一个程序,很重要。却一直没有任何备份,也没有使用任何版本控制。昨天突然良心发现,打算用SVN把它管理起来。可惜还没有来得及。今天误删了一个目录。一个工程被我彻底从硬盘上砍掉了。
慌张得跑进回收站,希望是移入了回收站而非直接删除。可是我当然没有这样的好习惯。到办公室的台式机上看是否存有备份,可是我当然没有及时备份的好习惯。于是指望从服务器上意外找到一个副本,因为曾经拷贝过一份源码到服务器上编译运行。可是那台服务器恰好挂了,硬件故障,无法启动。
试图恢复已经删除的文件。可我的文件系统是ext3,不像ext2那么容易就可以反删除。找到一些方法,都是针对ext2的。想到Windows下的EasyRecovery,FinalData。FinalData有Linux版本,据说支持ext2。但下载不到免费版本,也不知道是否支持ext3。想到一个同事去年的MSN签名:本命年,果然背。但转念一想,不怪年子。只怪自己不懂未雨绸缪。
把希望寄托在幸运上,是多么愚蠢的事。
好在,这个工程规模还不大,代码量还很少。好在,周末来临,可以利用周末时间,凭着记忆重写为数不多的几百行代码。好在,情况还不算太糟,影响不算太大。好在我没有把整个项目的目录删掉。
当即修改bash的配置文件,写上:
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
修改Nautilus设置,去掉绕过回收站的删除命令。
备份另外一个没有任何备份和版本控制的工程。
砍档之前,定要三思。
Update:
尝试使用Windows下的EasyRecovery进行原始的恢复,失败。
使用R-Studio,它支持Ext2/3。找到很多以前删除的文件,但却没有我要找的文件。也许已经被覆盖掉了,也许R-Studio仅仅支持Ext2,对Ext3的支持还不太好。但总归是没有希望了。
于是决定重写丢失的代码,一天后,以更加合理的方式实现了丢失的部分。
误砍造成的损失基本补救回来。
标签: 不知所云

Atom


4 条评论:
考验你记忆力的时候到了!
看来我也要学会未雨绸缪……
重要的东西,一定至少有一份备份。很重要的,考虑有多份备份。并且,养成用回收站的好习惯,清空回收站前,仔细看看。
相信我,本命年没什么不一样的
我想应该没有什么不同,但我的妈妈要求我必须每天系上她给我的红腰带。 :)
发表评论
<< 主页