Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114226
  • 博文数量: 23
  • 博客积分: 348
  • 博客等级: 一等列兵
  • 技术积分: 235
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-02 16:34
个人简介

System Software Engineer

文章分类

全部博文(23)

文章存档

2013年(9)

2012年(14)

分类: LINUX

2013-02-28 23:26:23

原文地址:rm 误操作恢复 作者:baochenggood

                                                         rm误操作恢复 


在使用rm的时候可以出现的误操作: 
1、脚本中如果cd没成功,执行rm的时候会删除所在目录的所有文件(不是所有系统都默认-i)。 
2、find很强大,但在不熟悉的时候,最好先看一下find出来的文件列表,确认无误后在加删除。 
3、单独的“/”是非常危险的,有很多“./”少了“.”变成了“/”,后果很严重。。。 
在下面的这篇精华帖中记录了N多的误操作,作为运维人员很值得一看!在文章中被提到最多的莫过于rm! 
使用rm需要格外小心(会出人命的)。在不小心删除后,最好及时卸载分区,※避免数据覆盖写进。假如必
须挂载,可以使用只读模式。 
   
接下面来演示下ext3格式下rm删除后恢复操作。 
恢复软件: ext3grep 
最新版本地址:    http://code.google.com/p/ext3grep/downloads/list 
注意:针对ext3格式,  ext4恢复不支持,期待之后的版本吧! 
环境:    centos5.5_32      ext3 
查看磁盘分区信息:    df -Th (确定分区格式ext3)    fdisk -l(确定磁盘分区路径/dev/sdb1) 
卸载磁盘分区(之前已创建几个文件并删除了。另外我测试不卸载也可以恢复,避免覆盖这部很重要。) 
umount /data/ 
安装: 
tar zxvpf ext3grep-0.10.2.tar.gz 
cd ext3grep-0.10.2 
./configure 
make 
make install 
搜索inode 信息 
ext3grep /dev/sdb1 --ls --inode 2 
    
根据inode 索引接着向文件夹下查找文件,直到找到自己需要的文件。 
ext3grep /dev/sdb1 --ls –inode 32769 
恢复方式: 
1、按照inode 信息去恢复 
ext3grep /dev/sdb1 --restore-inode 49153 
 
恢复节点为49153的文件,说明恢复成功。 
在当前目录生成RESTORED_FILES文件夹,其中的inode.49153就是刚恢复的文件 
 
2、按文件名去恢复(ext3grep-0.10.2.tar.gz就是按文件名恢复的) 
ext3grep /dev/sdb1 --restore-file ext3grep-0.10.2.tar.gz 
 
解压无报错,文件正常打开内容无误。 
3、恢复所有(当然也会有很多你可能并不想恢复的文件,消耗时间也比较多) 
ext3grep /dev/sdb1 --restore-all 


阅读(1599) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~