Linux下恢复误删除的文件
原文地址:http://www.libenfu.com/vim-分区下误删的文件,恢复文件全记录-转
当时我的工作目录是/source/needrecovered
。
$ pwd
/source/needrecovered
原本打算清空其中的一个子文件,
$ rm -rf canbedeleted/html
却打成如下命令:
$ rm -rf canbedeleted/ *
当时我琢磨着今天怎么删个小文件夹这么慢呢。等我仔细看了下命令,反应过来的时候,已经太迟了,整个工作目录被清空了 。
没辙了,只能先到网上找找解决方案了,网上大致提到的方法有两种:一种是利用debugfs
;第二种是利用ext3grep
。
第一种方法,我尝试了若干次都以失败告终,第二种成功了。但是相同的是:两种方法首先提到的都是将对该分区进行操作的应用先全部关闭,具体如下:
以下的操作尽量使用root
操作,以提高数据恢复的成功率。
#该命令用于列出操作该分区的进程
fuser -v -m /source
#如果没有很重要的进程,利用下面的命令将其全部 kill 掉
fuser -k -v -m /source
执行上面命令的时候,务必要将你的工作目录切换到/source
以外,否则你的sshd
会被kill
掉。
这样子可以达到两个好处
1) 防止新的文件操作影响数据的恢复
2) 方便对磁盘或者分区进行进一步的操作,如:mount
和umount
接下来我们看看磁盘分区情况:
$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda8 ext3 7.9G 6.3G 1.2G 84% /source
/dev/sdb1 fuseblk 299G 266G 33G 90% /data/
需要恢复的分区是/dev/sda8
,挂载点是/source
。
先将此分区卸载,并在/data
分区建立一个用于存储备份数据的文件夹。
umount -v /source
mkdir -p /data/recovery
现在轮到主角登场了,先去下载一份ext3grep
的源码,并安装:
cd /data/recovery
#此链接地址以官网最新版本为准
wget http://ext3grep.googlecode.com/files/ext3grep-0.10.2.tar.gz
tar xfz ext3grep-0.10.2.tar.gz
cd ext3grep-0.10.2
./configure --prefix=/data/recovery
make && make install
接下来就进入正式的恢复工作,先对需要恢复的磁盘进行扫描。
cd /data/recovery
nohup /data/recovery/bin/ext3grep /dev/sda8 --ls --inode 2 &
#建议使用 nohup 和 &,因为如果分区很大的话耗时比较长
扫描完毕后,/data/recovery
中会出现两个分别名为c0d2.ext3grep.stage1
和c0d2.ext3grep.stage2
的文件。前者可以直接忽略,后者里面保存着可以被恢复备份的文件名。
由于我需要备份的文件很多,几十G,就用下面这个命令进行全部恢复。
cd /data/recovery
nohup /data/recovery/ext3grep/bin/ext3grep /dev/sda8 --restore-all &
#建议使用 nohup 和 &,因为如果分区很大的话耗时比较长
需要注意的是,restore-all
参数会将整个磁盘所有文件(已删除可恢复的文件和未被删除还存在的文件)进行恢复和备份处理,所以请确认你的存放恢复文件的分区有足够的空间。
如果仅仅是恢复几个文件的话,建议使用restore-file
参数 备份的文件会存放在工作目录的名为RESTORED_FILES
的文件夹里,本文中就是cd /data/recovery/RESTORED_FILES
。
Linux下恢复误删除的文件的更多相关文章
- linux下恢复误删除的文件方法(ext2及ext3)
linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,d ...
- 恢复Linux下被误删除的文件(笔记)
恢复Linux下被误删除的文件 [root@xuegod63 ~]# mount /dev/cdrom /mnt/ 分一个区:sda4 查找:extundelete 分一个区:sda4 [root ...
- linux下rm误删除数据库文件的恢复方法
在linux redhat 5.4版本,rm误删除数据库文件的恢复过程分享.测试没有问题,可用. 1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total ...
- 如何在Linux上恢复误删除的文件或目录
Linux不像windows有那么显眼的回收站,不是简单的还原就可以了.linux删除文件还原可以分为两种情况,一种是删除以后在进程存在删除信息,一种是删除以后进程都找不到,只有借助于工具还原,这里分 ...
- linux下生成core dump文件方法及设置
linux下生成core dump文件方法及设置 from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...
- linux下分卷tar.bz文件的合并并解压缩
linux下分卷tar.bz文件的合并并解压缩 例: linux.tar.bz2.001;linux.tar.bz2.002;linux.tar.bz2.003; 首先 cat linux.tar.b ...
- linux下php上传文件注意
linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
- linux下java调用.so文件的方法1: JNI
摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...
随机推荐
- 关于iframe的一些使用
在iframe页面,获取当前iframe的id var iframeId = window.frameElement.id.toString(); 获取父窗口中另一个iframe的iframe,注意返 ...
- c# sqlite 导入,升级
导入sqlite库 1.下载nupkg 安装包 http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 记得.net ...
- 正则与re模块
一.正则表达式 在线测试工具 http://tool.chinaz.com/regex/ 1.字符组 在同一个位置可能出现的各种字符组成一个字符组,在正则表达中用[ ]表示 一个正则就是一条匹 ...
- 关于Basic Latin踩到的一些坑
目录 在wiki中,很多语言的字符集都包含了Basic Latin,一开始我没有细看,以为Basic Latin里面都是正常的字符集,后来在线上环境出现了问题 博主某天接到一个需求,需要过滤出某国语言 ...
- zookeeper-伪分布式搭建
1. 下载解压 2. 在conf目录下,新建3个文件(3台服务器):zoo1.cfg.zoo2.cfg.zoo3.cfg zoo1.cfg: tickTime=2000dataDir=/tmp/zoo ...
- 1,electron搭建
electron可以用js来创建丰富的桌面应用 一个electron应用的目录结构 your-app/ ├── package.json ├── main.js └── index.html 1,安装 ...
- 如何知道外围器件的器件地址PHY_ADDR
由于 S5P6818 现有的uboot没有网卡的初始化代码实现,在尝试移植网卡驱动而跟踪有关的源码的时候,不止一次地看到了类似下面的需要修改器件地址的有关写法. 根据原理图的有关硬件连接,找到对应的元 ...
- react项目中canvas之画形状(圆形,椭圆形,方形)
组件DrawShape.jsx如下: import React, { Component } from 'react' // import ClassNames from 'classnames' i ...
- Vs code 下设置python tasks.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.jso ...
- jira索引失败
""" # 参考:http://www.mamicode.com/info-detail-2369087.html jira断电重启后索引失败, 解决方法: 关闭jira ...