紧急:站长的一次误删事件
今天,不小心把NTFS卷内容给误删了。站长本想清了在NTFS根目录下的.Trash-xxx(Gnome回收站目录)下的内容,结果输了rm -rf *,当察觉是中断时已经把主要的一个数据文件夹删除了。发现误删以后最重要的是停止对那个卷的写访问(不过站长还是手痒把.Trash-xxx下的内容)。
接下来,使用反删除工具给予恢复。站长试了windows下的一串反删除工具,居然无果。网上帖子说使用ntfsundelete,这是Linux下NTFS-progs包的一个工具。如果使用其他的文件系统,可以尝试xxxx-progs中的类似工具(如果有的化)。
最终的结果是ntfsundelete和前面所有的windows下的反删除工具一样,没有找到那个文件夹。最后的解决方案,只能够把半年前备份的光盘拿出来恢复数据。
数据备份是对付类似情况的最终手段。不过数据备份的缺点在于不能够对最近的数据进行恢复(除非是实时备份,实现代价太大)。而用户最近访问的数据很可能是用户正要使用的,相对最重要的数据。(数据访问的局部性现象)
最好的应对方案是基于特定设计的文件系统。这样的文件系统可以设计成:
提供export和import,方便备份
删除的数据区按照时间先后循环使用。即如不是用户指定需要完全删除则进入一个free blocks的队列。
COW
提供事务处理。如删除一个软件,应该是该软件相关的文件的删除成为一个事务。或者删除文件夹和删除文件夹下所有文件成为一个事务。(相应的export和import也应该按照事务来运作)
0 评论:
发表评论