linux下nginx日志误删后恢复

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

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

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

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

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

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

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

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

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

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

谢谢

时间: 2024-10-26 04:29:42

linux下nginx日志误删后恢复的相关文章

linux下nginx日志切割

一.创建日志切割脚本nginx-log #!/bin/bash ## 零点执行该脚本 ## nginx 日志文件所在的目录 LOGS_PATH=/var/log/nginx/ ## 获取昨天的 yyyy-MM-dd YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) ## 重命名日志文件 mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log mv ${LOGS_PATH}/err

linux下rm -r误删NTFS文件恢复方法

linux下rm -r误删NTFS文件恢复方法(nfs-3g) 一时疏忽,手一抖,把整个挂载的F盘删了一半!顿时傻眼!! 被删的F盘是Windows下NTFS分区,在Ubuntu12.04中挂载了F盘,使用rm命令时粗心大意,误删了一半的数据. 血的教训告诉我们,使用rm -r命令一定要带上-i,否则让你后悔莫及! 还好在Linux下有一种方法可以恢复被删除的NTFS分区文件. 本文地址:http://www.cnblogs.com/yhLinux/p/4106099.html 在文件被误删后,

linux下nginx+php-fpm运行用户以及资源目录的权限

最近研究了下linux下nginx+php-fpm等web服务的运行用户,和web目录的权限 之前以为,nginx php-fpm 等服务,是用户登入的linux服务器上后, 然后运行对应的服务, 该服务就是以那个用户身份在跑的,后面发现是错的, 普通用户登入,没有权限启动服务. google,下,找同事了解到, 猜发现, 服务的运行身份都是在配置文件中配置的, 如nginx服务, 在nginx.conf的开头有user [用户名]  这就表示以填写的用户运行该模式了. 对应的web资源,必须对

linux下nginx实现虚拟主机(3种方法:基于域名、基于端口、基于ip地址)

在3.17日的时候已经写过一篇关于apahce的基于域名.端口.ip地址3种方式的虚拟主机实现.原理是一样的,现在记录nginx的虚拟主机这三种方式的实现. 系统版本为rhel5.6,nginx版本为1.1.6. 1.基于域名: 基于域名的方式,要先有dns服务器,这里为了方便,可以在/etc/hosts文件里面配置,把它当成dns就行了,可以参考3.17日那篇博客关于dns的配置或者其他博文也有.这里关于nginx的安装也略去. [[email protected] ~]# cat /etc/

VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

首先启动Nginx 1. 转到 nginx 目录: /usr/local/nginx; 启动 nginx: /usr/local/nginx/nginx ubuntu 前要加 sudo; 关健配置 http 配置块下,一般设置在 zgip on 下: upstream localhost { #绿色对应 #ip_hash; server localhost:8090; server localhost:8080; } server / { location / { proxy_connect_t

Linux下nginx编译安装教程和编译参数详解

这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # yum install pcre* //如过你已经装了,请跳过这一步 2.安装openssl 需要ssl的支持,如果不需要ssl支持,请跳过这一步 复制代码代码如下: # yum install openssl* 3.gzip 类库安装 复制代码代码如下: yum install zlib zlib-

Linux下 分割日志大文件

Linux下分割日志有两种常用命令 dd split(推荐使用) 1.dd: 作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 参数注释: if=filename:输入的文件名 of=finename:输出的文件名 bs=bytes:一次读写的字节数,默认是512bytes skip=blocks:拷贝前,跳过的输入文件的前blocks块,块的大小有bs决定 count=blocks:只拷贝输入文件的前blocks块 比如 现在有一个文件file,大小为116616字节: [ro

Linux下重要日志文件及查看方式

1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息,如图1所示: 图1 /var/log/boot.log示意 /var/log/cron 该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户.登录时间和PID,以及派生出的进程的动作.CMD的一个动作是cron派生出一个调度进程的常见情况.REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性

Linux下查看日志的命令

最近线上的事故有点多,加上公司的监控系统实在是不好用,所以为了抓更多的信息,需要去线上服务器看实时日志.作为一个萌新,居然傻傻的直接用vim打开了jetty的日志文件,近乎10个G的日志文件被vim读入内存,导致服务器的内存被撑爆,系统自动开始kill进程,最后把jetty进程kill掉了,导致了线上故障. 所以有了这篇文章,主要介绍在Linux环境下,可以用来查看日志文件并且不会占用很大内存的一些命令. Introduction 一般来说在Linux下查看文件内容的命令有以下几种: vim.v