windows下如果文件被删除还有回收站,如果没放入回收站或者回收站被清空了,还可以使用easyrecover或者finaldata等等很多工具来恢复;
可是linux下没有回收站,那么linux下如果文件被删除了如何恢复呢?如果刚好你删除的文件还在被其它程序调用,那么恭喜你,很轻易的的将删除的文件找回来
我们先手工来删除我们的日志文件/mnt/ramdisk/messages,删除前我们显卡一下这个文件的内容
02 |
Sep 23 13:51:56 test icinga: Icinga 1.7.0 开始... (PID=4692) |
03 |
Sep 23 13:51:56 test icinga: 本地时间 周一 2013年09月23日 13时:51分:56秒 CST |
04 |
Sep 23 13:51:56 test icinga: 日志版本: 2.0 |
05 |
Sep 23 13:51:57 test icinga: https://www.icinga.org) |
07 |
Sep 23 13:51:57 test icinga: |
09 |
Sep 23 13:51:57 test icinga: |
10 |
Sep 23 13:51:57 test icinga: |
11 |
Sep 23 13:51:57 test icinga: |
12 |
Sep 23 13:51:57 test icinga: 完成守护进程... (新 PID=4693) |
13 |
Sep 23 13:51:57 test icinga: Event loop started... |
然后删除这个文件
3 |
ls :/mnt/ramdisk/messages: No such file or directory |
文件已经不存在了
这时候我们通过lsof命令查询一下系统当前的文件打开信息(若没有直接yum instal -y lsof安装即可)
|
[
root
@
test
~
]
# lsof |grep message
syslogd
<
span
style
=
"color: #ff0000;"
>
3558
<
/
span
>
root
<
span
style
=
"color: #008000;"
>
2
<
/
span
>
w
REG
0
,
20
79353857
8837
<
span
style
=
"color: #800080;"
>
/
mnt
/
ramdisk
/
messages
(
deleted
)
<
/
span
>
syslogd
3558
root
3w
REG
253
,
0
0
3578692
/
var
/
log
/
messages
(
deleted
)
[
root
@
test
~
]
#
|
看到我们刚才删除的文件 /mnt/ramdisk/messages,并且状态时deleted,目前调用的进程是3558,目录是2
这时候/proc/3558/fd/2就是我们删除的文件/mnt/ramdisk/messages了
拷贝回去并查看内容验证:
03 |
Sep 23 13:51:56 test icinga: Icinga 1.7.0 开始... (PID=4692) |
04 |
Sep 23 13:51:56 test icinga: 本地时间 周一 2013年09月23日 13时:51分:56秒 CST |
05 |
Sep 23 13:51:56 test icinga: 日志版本: 2.0 |
06 |
Sep 23 13:51:57 test icinga: https://www.icinga.org) |
07 |
Sep 23 13:51:57 test icinga: |
08 |
Sep 23 13:51:57 test icinga: |
09 |
Sep 23 13:51:57 test icinga: |
10 |
Sep 23 13:51:57 test icinga: |
11 |
Sep 23 13:51:57 test icinga: 完成守护进程... (新 PID=4693) |
12 |
Sep 23 13:51:57 test icinga: Event loop started... |
文件回来了~~