要想恢复的话,前提是没有重启nginx服务。

首先要来介绍下/proc目录。

/proc 是一个虚拟的目录,不占用实际的存储空间,其实存在于系统的内存中。其实以文件系统的方式为访问系统内核的操作提供接口,是动态从系统内核当中读取所需信息的。

下面就介绍下回复步骤,模拟下恢复的过程。但是前提是没有重启nginx服务

1,备份nginx的error日志,然后删除error日志

linux下nginx日志误删后恢复

2,查看nginx的pid,然后到/proc/pid/fd  目录下

linux下nginx日志误删后恢复

linux下nginx日志误删后恢复

可以看到文件名:2(昨天测试的),3   他们的链接指向是errorlog,但是后面会显示已deleted了。我们用tail看下能看到3还在不停的在刷日志

3,我们直接把文件3重定向到errorlog就可恢复nginx的日志了。

linux下nginx日志误删后恢复



具体的想看进程打开了哪些文件,可以使用lsof命令。

至此,nginx日志已经恢复,恢复以后看到好像不会继续往error.log 里面继续写日志了,需要重启下。不知道这个重启是不是必须的。知道可以留言告知下。其他的文件也可以按照此方法来试试。

谢谢


转载于:https://blog.51cto.com/ludihua/1917600

相关文章:

  • 2021-11-29
  • 2021-11-17
  • 2021-12-27
  • 2021-12-27
  • 2022-01-23
  • 2021-11-18
  • 2022-12-23
  • 2021-12-10
猜你喜欢
  • 2021-12-07
  • 2022-12-23
  • 2021-12-16
  • 2022-02-21
  • 2021-12-27
  • 2021-12-02
相关资源
相似解决方案