昨天遇到了一个面试题--如何恢复误删除的nginx日志,当时我也只是回答出了大概的思路和步骤。晚上抽时间模拟下误删除和恢复的场景。

首先大概了解下/proc目录(记得当时考试RHCA的时候,关于这个目录的题目着实不少)。Linux系统上的/proc目录是一种文件系统,即proc文件系统,它是一种伪文件系统。里面保存了当前系统内核运行状态的一些信息,可以查看到相关的系统硬件及当前正在运行进程的相关信息,也可以通过更改其中某些文件来改变内核的运行状态。/proc/PID 保存的就是当前正在运行的进程信息,PID为进程号,当进程结束后相关目录则会消失。

恢复nginx误删除的日志就要使用到/proc/PID下的某些文件,先来看下该目录下都有哪些内容:

简单列几个:

- attr  进程的属性

- cmdline 启动时执行的命令

- cwd 当前的工作目录,软链接

- environ 进程执行使用的环境变量

- fd 进程打开的所有文件,文件名为文件描述符,目录中的每个软链接都指向了进程实际打开的文件

- limits 进程的软硬限制

- cgroup 该进程的cgroup控制组信息

- status进程的运行状态信息

恢复nginx日志就是使用了fd下的某些文件描述符,因为里面每个软连接实际上都是指向了nginx运行的时候打开的文件,包括nginx的日志文件。

下边模拟下误删除并恢复日志的过程。

查看nginx的日志:

[root@iZ2876x9bezZ ~]# ll /var/log/nginx/

total 12

-rw-r--r-- 1 root root 6991 Aug 12 12:48 access.log

-rw-r--r-- 1 root root  760 Aug 12 11:44 error.log

删除日志:

查看nginx的进程号:

查看该进程文件描述符信息:

可以看到文件描述符为5的软链接所指向的文件已经被删除,这个就是需要我们恢复的日志文件。

查看文件内容:

可以看到整个日志内容,并且新增的日志内容也会增加到该文件描述符内。接下来可以将这些日志内容输出到一个文件内,然后执行nginx的reload操作,这样可以重新生成一个access.log文件,并且新的日志内容输出到该日志文件内。

更多Nginx相关教程见以下内容:

Nginx 的详细介绍:请点这里

Nginx 的下载地址:请点这里

nginx配置文件被删怎么找回_恢复误删除的Nginx日志相关推荐

  1. nginx配置文件被删怎么找回_隔行如隔山之nginx服务器删除文件

    虽然我平时比较喜欢折腾博客网站,也喜欢折腾WordPress主题等,但是从未折腾过nginx服务器,就连我现在用的这台阿里云ECS服务器都是找张戈博主帮忙安装的,所以对于nginx服务器真的是一窍不通 ...

  2. 如何恢复被删短信_恢复iPhone短信的两种简单方法推荐

    随着生活水平不断提升,iPhone的普及率也在大大提升.除微信外,短信是最高频的即时沟通工具之一.有时,不小心将对方发来的重要短信误删,无法找到相应数据时,从iPhone上恢复已删除的短信就是大家最关 ...

  3. nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例

    写在开始 去年,做过一款竞赛打分的APP.具体需求,同组教师之间可以相互通信,及时通知同组人员,其他组员做了那些操作(当然,这只是针对特定操作). 实现方案 采用目前比较成熟的WebSocket技术, ...

  4. etcd nginx 容器_Etcd+Confd实现Nginx配置文件自动管理

    一.需求 我们使用Nginx做七层负载均衡,后端是Tomcat.项目采用灰度发布方式,每次项目升级,都要手动先从Nginx下摘掉一组,然后再升级这组,当项目快速迭代时,手动做这些操作显然会增加部署时间 ...

  5. 多个vue项目生产环境下NGINX配置文件

    多个vue项目生产环境下NGINX配置文件 使用场景 1.多个前端项目 2.多个后端项目 3.修改nginx配置后端接口转发路径 4.反向代理 某个目录下 带特定后缀名的文件 5.vue3项目 使用前 ...

  6. 在线一键生成网页版 Nginx 配置文件

    1 在线一键生成网页版 Nginx 配置文件 介绍 NginxWebUI是一款方便实用的 nginx 网页配置工具,可以使用 WebUI 配置 Nginx 的各项功能,包括端口转发,反向代理,ssl ...

  7. 多闪删掉的作品怎么恢复_快手删了作品怎么恢复

    大家好.以上问题我来为你解答. 快手APP版本为7.6.30.2436,快手删了作品不能恢复,因为目前官方并没有提供这个功能,不知道官方有没有在服务器备份或者用户删除作品之后是不是服务器关于作品的数据 ...

  8. Nginx配置文件中文详解

    ######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组 user www www;#nginx进程数,建议设置为等于CPU总核心数. worker_pr ...

  9. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组 user www www;#nginx进程数,建议设置为等于CPU总核心数. worker_pr ...

  10. python修改nginx配置文件_zookeeper 动态管理nginx配置

    假设我们有一个场景,所有服务器共享同一份配置文件,我们肯定不可能单独手动维护每台服务器,这时可以利用zookeeper的配置管理功能. 环境:python + nginx + zookeeper 目的 ...

最新文章

  1. Shiny平台构建与R包开发
  2. Delete Edges 完全图-找规律
  3. 进程的创建与可执行程序的加载
  4. win10计算机优化技巧,让Win10系统运行更流畅的优化技巧
  5. python官方下载电脑版-Python for windows
  6. quartsu仿真8:二五十计数器74290的基本功能
  7. 构建基于Hibernate的servlet(1)
  8. 软件工程第一次作业-谢旭军
  9. elasticdump安装_elasticsearch导入导出工具elasticdump安装和使用小记
  10. 电子信息工程四年学习之思
  11. oracle 王景田_清华大学经济管理学院电子简讯
  12. java bitset javadoc_Java数据结构: java.util.BitSet源码学习
  13. 狮虎论:软件测试和软件开发到底哪个实际工资更高
  14. 【小程序开发之微信登录】
  15. 修复win10 服务器失败怎么办,fatal error怎么解决win10 修复Win10系统问题
  16. 台式电脑如何使用无线网,wifi怎么连接?
  17. 短信验证注册,一个完整而优雅的JAVA后端实现
  18. 使用VUE做的个人简历
  19. pip 在windows下的更新升级
  20. 方向导数的几何通俗解释

热门文章

  1. Prometheus metric
  2. 有多少程序员干到35岁,那么其他人去干什么了?
  3. 高通MSM8255 GPS 调试分析Android系统之Broadcom GPS 移植【转】
  4. go操作excel单元格合并
  5. 服务器2003系统安装时蓝屏,安装2003server操作系统蓝屏是怎么回事?
  6. Windows系统蓝屏机制
  7. 【解决】Yandex浏览器Bing搜索遭遇trovi.com劫持
  8. Multisim函数发生器设置问题
  9. 怎么设置计算机用户账户和密码,电脑上怎么设置wifi用户名和密码
  10. 利用树制作的简易家谱