Linux误删文件教训,吃一堑长一智

前几天在做php期末项目中,这个期末项目做了一个月,最后再添加一个清除缓存的功能就可以完成了,可是悲剧就是在最后发送,写了一段清理缓存的代码,因为还是学生在学习阶段,代码不完善,而且没有经过测试(教训一),直接放在项目里执行,导致写的30几个php文件全部被自己删了,而且没有备份(教训二)。

最恨的是,误删文件之后我还往这个文件夹里写入了一些东西并且还把extundelete装到了这个文件夹下(教训三),导致文件只恢复少量一部分,大部分因为被新写入的数据彻底覆盖。

教训一测试。在写功能的过程中,有些有危险性的功能必须经过测试再投放到项目中。

教训二备份。为期一个月课余时间写的代码,在后面半个月完善功能代码的过程中,竟然没有做过哪怕一次备份。

教训三误删后不能再往该硬盘写入任何数据,在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区,如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载。 因为将文件删除后,仅仅是将文件的inode节点中的扇区指针清零,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,谁都也无力回天了。

结果是通过extundelete只恢复了少量一部分文件,难得的一次经历。

时间: 2024-10-06 21:32:49

Linux误删文件教训,吃一堑长一智的相关文章

linux 误删文件后 恢复

LINUX误删文件后,为了把损失降低到最低,进行如下操作: 一:卸载或者以只读的方式挂载需要恢复的分区: example:  umount  /dev/sdb1      #卸载挂载的sdb1 二:安装extundelete   (需要epel源进行支持) example:yum -y install extundelete 三:查看sdb1分区里文件对应的inode example:extundelete /dev/sdb1  --inode 2 文件名    inode    deltete

linux 误删文件恢复

文档太给力了!误删了几个重要文件,抖抖嗦嗦偷偷恢复了,救了我!!! http://jingyan.baidu.com/article/2f9b480d6c2bcd41cb6cc223.html 注意几个地方: 1)最后cd到误删目录下操作,否则有可能 logdump时告诉你不存在 2)df -T 可以查看文件系统,找你熟悉的试试看是不是. [[email protected] tmp]# cd ../data/admin/weblog_wireless/[[email protected] we

Linux Ext3、Ext4误删文件恢复 extundelete

使用linux难免遇到误删文件的情况,使用extundlete 即可恢复误删文件 记下操作流程:1. 安装Linux数据恢复软件extundelete需要依赖两个包 sudo aptitude install e2fsprogs e2fslibs-dev 下载页面http://extundelete.sourceforge.net/ 快速下载: download extundelete 编译三部曲 ./configuremakesudo make install 2.如果分区已经挂载,先umou

Linux下恢复误删文件:思路+实践

周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题,他推荐的工具是xfs_irecover.这里就稍微总结一下Linux下误删文件如何恢复. 1. 当发现误删了文件之后,立即把文件系统卸载掉,或者remount成ro状态,就是不要再写了,让数据不要被其他数据覆盖.因为大部分文件系统在删除文件的时候只是把这个文件标记成删除,把文件所使用的数据块标记成可

Linux下误删文件恢复

资深的Linux玩家,一般不会误删文件,就算误删文件,往往提前做过备份.如果有像我一样的菜鸟误删文件并且没有备份的话该怎么办呢?我就故作高深的讲讲. 在Linux中有许多文件修复工具,在咱51cto上有大师介绍过,我就不多说,我就把我的方法介绍一下吧!我用的是debugfs工具. 具体步骤如下: 1.删除任一文件 2.查看你删除文件所在的磁盘,我的在/dev/sda2. 3.启动debugfs(在命令行输入debugfs即可),并打开删除文件所在的分区,我的是/dev/sda2 4.查找删除文件

Linux中用extundelete恢复误删文件

一.实验前需知1.extundelete是一个用来恢复ext3,ext4分区文件的工具,他会利用分区中的日志信息尝试恢复被删除的文件,但是,并非每个被删除的文件都能确保被恢复,所以,重要的文件大家还是要做好备份.下面进行一个小实验模拟文件误删,使用extundelete进行恢复2.此实验需准备两块硬盘,注意不要将extundelete安装到误删文件所在的硬盘二.开始试验1.此实验需准备两块硬盘,除虚拟机原本一块硬盘,再添加一块硬盘,添加完成重启生效2.用fdisk命令给新添加的磁盘划分分区之后格

浅析Linux文件(一)inode与block、硬链接与软链接、恢复误删文件

一.inode与block 1.inode和block概述 文件数据包括元信息与实际数据,一个文件必须占用一个inode,但至少占用一个block. 扇区:文件存储在硬盘上,硬盘的最小存储单位是扇区,每个扇区存储空间是512字节.block(块):连续的八个扇区组成一个block,block是文件存取的最小单位,用来存储文件数据.inode(索引节点):也叫i节点,用于存储文件元信息. 2.inode的理解 (1)inode包含文件元信息: 文件的字节数 文件拥有者的User ID(UID) 文

一次心惊肉跳的服务器误删文件的恢复过程

经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据.对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错.也希望遇到问题的朋友能找到一丝灵感解决问题. 事故背景 安排一个妹子在一台生产服务器上安装Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装.从网上找到卸载方法,其中要执行一行命令删除Oracle的安装目录,命令如下: rm -rf $ORACLE_BASE/* 如果ORACLE_BASE这个变量没有赋值,那命令就变成了 rm -rf /* ==||,妹子使用

extundelete工具恢复Linux删除文件

下载相应软件包 wget http://jaist.dl.sourceforge.net/project/e2fsprogs/e2fsprogs/1.41.14/e2fsprogs-1.41.14.tar.gz wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 wget http://jaist.dl.sourceforge.net/projec