使用lsof恢复数据

一、lsof使用说明
1、作用
lsof是一个列出当前系统打开文件的工具。在linux系统环境下,任何事物都可以以文件形式存在,通过文件不仅可以访问常规的数据,还可以访问网络连接和硬件。

2、常用参数说明

参数说明
-p输出指定进程打开的文件
-I输出中使用ID代替用户名
-u输出指定用户打开的文件
-c输出COMMAND列中包含的string项
-d输出包指定描述符的项
-i输出符合指定条件项目

-i 可接参数说明
4:指IPV4
6:指IPV6
protocol: 指TCP或UDP
hostname: 网络主机名
hostaddr: IP地址
service: 包含再/etc/services中的名称
port: 端口号,可以是多个

3、对应列表说明

[root@test_133 ~]# lsof|head -3
COMMAND      PID    TID TASKCMD             USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd        1                            root  cwd       DIR              253,1      268        128 /
systemd        1                            root  rtd       DIR              253,1      268        128 /

参数说明
COMMAND命令
PID进程ID
TID线程ID。为空代表是进程
TASKCMD任务名称和COMMAND相同
USER用户ID或者用户名
FD文件描述符
TYPE与文件关联节点的类型
DEVICE设备号
SIZE/OFF文件大小,字节单位
NODE文件节点
NAME文件挂载点和文件所在的系统

二、利用lsof恢复文件
1、当文件被误删除时;这个时候只要有进程再打开这个文件就可以利用lsof恢复所删除的数据

a、删除/var/log/messages

rm -rf /var/log/messages

b、使用lsof查看/var/log/messages所占用进程

[root@test_133 ~]# lsof |grep /var/log/messages
rsyslogd   27749                            root    7w      REG              253,1    28975   33576003 /var/log/messages (deleted)
rsyslogd   27749  27751 in:imjour           root    7w      REG              253,1    28975   33576003 /var/log/messages (deleted)
rsyslogd   27749  27752 rs:main             root    7w      REG              253,1    28975   33576003 /var/log/messages (deleted)

c、可以看到文件描述符打开的是7,打开文件描述符文件查看是否有数据

[root@test_133 ~]# head -10 /proc/27749/fd/7
Jul 10 03:10:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Starting system activity accounting tool...
Jul 10 03:10:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: sysstat-collect.service: Succeeded.
Jul 10 03:10:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Started system activity accounting tool.
Jul 10 03:17:01 iZ8vb4wt67sxhdudcf8hb2Z rsyslogd[27749]: [origin software="rsyslogd" swVersion="8.2102.0-5.el8" x-pid="27749" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
Jul 10 03:20:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Starting system activity accounting tool...
Jul 10 03:20:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: sysstat-collect.service: Succeeded.
Jul 10 03:20:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Started system activity accounting tool.
Jul 10 03:30:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Starting system activity accounting tool...
Jul 10 03:30:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: sysstat-collect.service: Succeeded.
Jul 10 03:30:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Started system activity accounting tool.

d、恢复数据

[root@test_133 ~]# cat /proc/27749/fd/7 > /var/log/messages
[root@test_133 ~]# head -10 /var/log/messages
Jul 10 03:10:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Starting system activity accounting tool...
Jul 10 03:10:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: sysstat-collect.service: Succeeded.
Jul 10 03:10:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Started system activity accounting tool.
Jul 10 03:17:01 iZ8vb4wt67sxhdudcf8hb2Z rsyslogd[27749]: [origin software="rsyslogd" swVersion="8.2102.0-5.el8" x-pid="27749" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
Jul 10 03:20:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Starting system activity accounting tool...
Jul 10 03:20:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: sysstat-collect.service: Succeeded.
Jul 10 03:20:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Started system activity accounting tool.
Jul 10 03:30:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Starting system activity accounting tool...
Jul 10 03:30:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: sysstat-collect.service: Succeeded.
Jul 10 03:30:13 iZ8vb4wt67sxhdudcf8hb2Z systemd[1]: Started system activity accounting tool.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值