linux找回删除的文件 linux平台下数据文件被误删后,如何及时得知并进行恢复?

[更新]
·
·
分类:互联网
4257 阅读

linux找回删除的文件

linux平台下数据文件被误删后,如何及时得知并进行恢复?

linux平台下数据文件被误删后,如何及时得知并进行恢复?

我这里提供一个思路,具体实现方法楼主可以自己实现。
一. 怎么及时得知文件被删
在Linux下面一个文件监控工具inotify-tools,通过命令安装即可
#yum install inotify-tools
inotify-tools它提供两种工具,一是inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数。
在我们今天讨论的议题里面我们使用inotifywait,只需要监控inotifywait的move和delete事件,假如发生了这两个事件代表文件被删了,然后发送短信或者邮件告警,这样就可以得知文件被删除了。
二. 怎么进行及时的恢复,有好几种办法。
a). 如果是文件被删除,但是它还被其他进程打开着,可以这样尝试。
#lsof|grep /path/to/file
注意第二列的数字是5559,第四列的数字是22。恢复该文件的命令如下:
#cp /proc/5559/fd/22
b). 如果lsof找不到你的文件,那么把分区设为只读或者卸载分区
#mount -o remount,ro /dev/partition
或者
#umount /dev/partition
这里的/dev/partition是指你的数据盘,例如/dev/sda2 或者 sdb1等等,这时候你可以用如下命令把整个数据盘备份出来。
#dd bs4M if/dev/partition
这个时候可以用extundelete,它可以针对某一个分区进行全量的恢复。如果extundelete都不能恢复你的文件,那么你也可以尝试用debugfs,每一个工具都可以展开很大的篇幅来讨论,楼主可以自己去实践或者关注我的文章,有机会我写一个详细一点的。

不小心删除了linux系统中的home文件夹怎么办?

1、删除现有用户帐户和组账户;
2、建立一个/home目录,赋予适当的权限;
3、建立相应用户;如果你希望新建用户和老用户拥有相同得用户ID,组ID,那么在家里新用户的时候加上参数指定id就可以了。(打开/etc/passwd,找到user1这行,你会看到类似user1:500:500:/home/user1这个配置,其中这两个数字就是用户ID和组ID)。