FastNetMon

Thursday, 7 April 2011

Как восстановить удаленный файл в Линукс, если он еще открыт в каком-либо приложении?

Все очень просто.

system-r:~# wc -l /etc/apache2/apache2.conf
0 /etc/apache2/apache2.conf
system-r:~# lsof | grep apache2.conf
ispmgr 6655 root 18u REG 9,2 0 21381891 /etc/apache2/apache2.conf
ispmgr 6655 root 37u REG 9,2 15552 21382423 /etc/apache2/apache2.conf.snap (deleted)
system-r:~# cd /proc/6655/fd
system-r:/proc/6655/fd# wc -l 37
398 37
system-r:/proc/6655/fd# cp 37 /root/apache2_recovered.conf
system-r:/proc/6655/fd# wc -l /root/apache2_recovered.conf
398 /root/apache2_recovered.conf
system-r:/proc/6655/fd# stat /root/apache2_recovered.conf
File: `/root/apache2_recovered.conf'
Size: 15552 Blocks: 32 IO Block: 4096 regular file
Device: 902h/2306d Inode: 6971410 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-04-07 23:48:39.000000000 +0400
Modify: 2011-04-07 23:48:35.000000000 +0400
Change: 2011-04-07 23:48:35.000000000 +0400

1 comment :

  1. Спасибо большое, просто жизнь спас =)

    ReplyDelete

Note: only a member of this blog may post a comment.