centos7文件被误删怎么找回,lsof相关

当一个文件被删除后:

1.使用lsof查看是否有进程正在使用,不要重启此进程

2.找到打开此文件的pid及对应的文件描述符

3.进入/proc/进程号/fd/目录中

4.通过对应文件描述符恢复文件并立即重载/重启该进程

cat 6 > /var/log/messages;systemctl restart rsyslog

如果lsof查找不到,就不能使用此方法

示例:

下载lsof工具
# yum install lsof -y

查询是否有进程在使用secure

# lsof | grep secure

# lsof | grep secure //如果没有就不要继续下面的 

7663是他的进程号,7w里面的7是句柄数,w是描述符。

rsyslogd  7663         root    7w      REG              253,0      4996   33607855 /var/log/secure
in:imjour 7663 7665    root    7w      REG              253,0      4996   33607855 /var/log/secure
rs:main   7663 7666    root    7w      REG              253,0      4996   33607855 /var/log/secure

试着删除他,因为刚刚有进程在使用他,所以还在内存里面保存着,这时候不能重启系统和这个进程,重启就是释放内存里面的数据,就找不回了。

# rm -rf /var/log/secure

 查看这个句柄里面的内容

# cat /proc/7663/fd/7

把这个内存里面的内容读取到原来的位置,并重启这个进程 

# cat /proc/7663/fd/7 > /var/log/secure;systemctl restart rsyslog

# 查看是否成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值