使用lsof恢复rm -rf删除后的文件

本文发布时间: 2019-Mar-22
在Linux系统中使用rm -rf删除文件后,其实文件只是从磁盘中移除,文件内容还是在系统后台等待回收,此时可以使用系统进程号将文件考贝出来,内容不会有更改。1.删除一个文件[root@iZ62f427er8Z logs]# ll access.log -rw-r--r-- 1 root root 11723908 Jun 14 16:02 access.log[root@iZ62f427er8Z logs]# rm -rf access.log 2.查看文件在后台的进程[root@iZ62f427er8Z logs]# lsof | grep delete | grep accessnginx 1212 root 9u REG 202,1 11723908 274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)nginx 12953 www 9w REG 202,1 11723908 274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)nginx 12954 www 9w REG 202,1 11723908 274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)[root@iZ62f427er8Z logs]# 3.将文件从进程中复制到磁盘上[root@iZ62f427er8Z logs]# cp /proc/12953/fd/9 . #12953是进程号,9是文件描述符 [root@iZ62f427er8Z logs]# du -sh 9 12M 9[root@iZ62f427er8Z logs]# cat 9 #文件内容看到了


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表