误删的文件怎么恢复?

误删的文件怎么恢复?,第1张

如果数据丢失后,我们又对保存该文件的磁盘进行了写入 *** 作,发生数据覆盖的直接后果是搜索不到丢失的文件或是恢复后的文件打不开、乱码、空白、系统提示已经损坏等。数据写入具有随机性,具体哪些文件被覆盖是不可控的,所以在数据被成功恢复之前应尽量避免一切写入 *** 作。此外,我们还需要了解自己电脑里的硬盘是固态盘还是机械盘。由于固态硬盘默认自带并开启TRIM指令,此特性致使删除的文件难以恢复。从备份中还原丢失的文件是最理想的文件恢复方式,但是很多用户没有备份数据的习惯。没有备份的时候,我们就需要借助数据恢复软件找回丢失的文件。这里提示一下大家,虽然文件在删除前是可以正常打开的,但这不代表丢失后文件一直是正常的。在不确定数据是否被覆盖了以及是否有损坏的时候,可以先用软件搜索到文件后通过预览文件判断文件的可恢复性。以下分享电脑删除文件恢复具体过程(以嗨格式数据恢复大师为例):步骤1:首先在电脑中运行【嗨格式数据恢复大师】这个专业数据恢复软件,打开后就可以看到主页中有多个恢复功能,点击其中的“误删除恢复”功能;步骤2:选择好模式后,还需要选择被删除文件原来的保存位置,选好点击“开始扫描”按钮;步骤3:这样嗨格式数据恢复大师软件开始扫描电脑数据,扫描好找到并选中恢复文件,点击“恢复”就可以。

Linux系统是服务器最常见的 *** 作系统 ,当然也面临着非常多的安全事件,相较Windows *** 作系统,Linux采用了明确的访问权限控制和全面的管理工具,具有非常高的安全性和稳定性。Linux系统被入侵后,攻击者为了掩盖踪迹,经常会清除系统中的各种日志,包括Web的access和error日志、last日志、message日志、secure日志等,给我们后期应急响应和取证分析带来了非常大的阻力。所以,恢复被清除的日志是非常重要的取证和分析环节,一下是使用lsof命令恢复日志文件的案例,适用于常见的日志恢复工作。

不能关闭服务器,不能关闭相关服务或进程,如恢复apache的访问日志 /var/log/httpd/access_log ,不能关闭或者重启服务器系统,也不能重启httpd服务。

二、实施过程

1. 找到相关进程pid

[root@localhost ~]# lsof | grep access_log

httpd 1392 root 7w REG 253,0 0 263802 /var/log/httpd/access_log

httpd 7330 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

httpd 7331 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

httpd 7333 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

httpd 7334 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

httpd 7336 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

httpd 7337 apache 7w REG 253,0 0 263802 /var/log/httpd/access_log

2. 找回日志

代码如下:

[root@localhost ~]# wc -l /proc/1392/fd/7

55 /proc/1392/fd/7

[root@localhost ~]# cat /proc/1392/fd/7 >/var/log/httpd/access_log

我们先通过wc或者tail命令查看日志信息,然后再将日志重写到access_log中即可。

在Linux系统的/proc 分区下保存着进程的目录和名字,包含fd(文件描述符)和其下的子目录(进程打开文件的链接),那么如果删除了一个文件,还存在一个 inode的引用:/proc/进程号/fd/文件描述符。我们只要知道当前打开文件的进程pid和文件描述符fd就能利用lsof工具列出进程打开的文件。通过lsof我们就可以进行简单的文件恢复工作,当然这里不局限于日志文件,只要是存在引用的文件。

lsof命令用于查看你进程打开的文件、打开文件的进程、进程打开的端口。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。

在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议和用户数据协议套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础 *** 作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

语法:

losf (选项)

选项:

-a 列出打开文件存在的进程

-c<进程名>列出指定进程所打开的文件

-g 列出GID号进程详情

-d<文件名>列出占用该文件号的进程

+d<目录>列出目录下被打开的文件

+D<目录>递归列出目录下被打开的文件

-n<目录>列出使用NFS的文件

-i<条件>列出符合条件的进程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8088670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存