使用logrotate轮询nginx和apache日志

使用logrotate轮询nginx和apache日志

文章目录

[隐藏]

使用logrotate轮询日志很方便,配置也很简单。

配置nginx

1、建立/etc/logrotate.d/nginx文件

  1. vi /etc/logrotate.d/nginx

2、写入如下内容:

  1. /var/log/nginx/*log {
  2. daily
  3. rotate 10
  4. missingok
  5. notifempty
  6. compress
  7. sharedscripts
  8. postrotate
  9. [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
  10. endscript
  11. }

注释:
/var/log/nginx/*log:需要轮询日志路径
daily:每天轮询
rotate 10:保留最多10次滚动的日志
missingok:如果日志丢失,不报错继续滚动下一个日志
notifempty:当日志为空时不进行滚动
compress:旧日志默认用gzip压缩
/var/run/nginx.pid:nginx主进程pid

配置apache

  1. /var/log/httpd/*log {
  2. missingok
  3. notifempty
  4. sharedscripts
  5. postrotate
  6. /sbin/service httpd reload > /dev/null 2>/dev/null || true
  7. endscript
  8. }

转载请标明文章来源:《https://www.centos.bz/2011/12/logrotate-nginx-log/

时间: 2024-10-03 19:31:35

使用logrotate轮询nginx和apache日志的相关文章

logrotate轮询nginx日志

Linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日常工作之一.我们可以使用"logrotate"来管理linux日志文件,它可以实现日志的自动滚动,日志归档等功能.下面以nginx日志文件来讲解下logrotate的用法. 在/etc/logrotate.d/目录下创建一个配置文件"nginx",内容如下: #vim /etc/logrotate.d/nginx/usr/local/nginx/logs/*.log { dai

nginx和apache日志记录用户真实ip:X-Real-IP

如果结构里有个反向代理,那后端机器的日志记录的就会是代理的ip,真实的ip看不到了,后端代码可以通过在header里设置真实ip来解决,nginx加入下面一段即可: proxy_set_header X-Real-IP $remote_addr; 后端通过X-REAL-IP或者HTTP_X_REAL_IP变量获取. 日志记录的话,nginx可以定义$http_x_real_ip变量,例如:    log_format main '$http_x_real_ip - $remote_user ' 

使用DNS轮询+NGINX+PHP+NFS+MYSQL实现集群高可用

该实验使用四台虚拟机搭建,本来数据库作为网站的核心,是不能放在DNS服务器上的,这里迫于虚拟机台数的限制,只能暂时放在DNS服务器上来演示实验,真实环境中数据库是不能放在DNS服务器上的. 如上图所示 DNS+mysql服务器         IP:10.6.0.180 WEB1服务器                      IP:10.6.0.186 WEB2服务器                      IP:10.6.0.187 PHP+NFS服务器               IP:

nginx或apache日志清洗脚本

#!/bin/sh zcat www_access_log.2013-12-31.gz|awk -F"\"" ' BEGIN{ OFS="@"  #输出字段之间的分隔符,用别的也可以 } { ip="" ips="" logtime="" if(match($1,/([^-]+[0-9]|-) [^ ]+ ([^ ]+ )?\[[^:]+:([^ ]+)/,f)) { ip=f[1] logtim

nginx日志配置,以及日志轮询

一.为nginx配置错误日志 Nginx错误日志是调试nginx的重要手段,属于核心功能模块的参数(ngx_core_module)该参数名字为err_log,是放在Main区块中全局配置 err_log的语法格式以及参数语法说明如下 err_log   file              level(级别) 关键字           日志文件              错误日志级别 其中关键字err_log不能改变 1 1.在配置文件中写入error_log logs/error.log e

logrotate关于日志轮询和分割

如果你的是源码包安装的服务,那么对于Linux服务器上的一些服务在运行当中产生的日志很重要,可以判断你的服务是否有异常等,但源码包安装的日志是没有日志的轮询或者说是切割能力的, 所以你就需要用到bash脚本来做或者用其他语言,但我这里来介绍下一个RHEL系列的工具 logrotate 他可以轻松的帮你实现日志的轮询.像RHEL和CentOS都默认安装了该服务.你可以直接 编辑/etc/logrotate.conf  来实现对相应日志文件的轮询: 例如典型的apache日志, 首选我来说下列子然后

linux 日志定时轮询流程详解(logrotate)

logrotate介绍 对于Linux系统安全来说,日志文件是极其重要的工具.日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.当日志文件不断增长的时候,就需要定时切割,否则,写日志的速度和性能也会下降,更不便于我们归档,查询. 所以便有了使用logrotate的时候 ,logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件.例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除

Nginx按天分割轮询日志文件

使用linux系统自带的日志轮询工具logrotate logrotate 介绍 ------------------------------------- logrotate 程序是一个日志文件管理工具.用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做"转储".我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过cron 程序来执行. logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail . logrotate 的配置文件是/etc

logrotate+crond日志切割、轮询

logrotate 在工作中经常会有需求去查看日志,无论是通过应用或者系统error日志去查找问题或者通过nginx的访问日志统计站点日均PV.UV.所以体现了日志的重要性,但是通常当业务越来越大的时候各项目产生的日志将会是个很大的数字,优势我们会需要查找往期的日志,这时候就需要对日志进行合理的备份保留.随着时间的 累计,一个日志文件将会变得很大,我们通过命令去查找需要的日志段的时候就会显得非常困难,所以我们需要读各类日志进行切割轮询处理. logrotate是系统自带的日志切割工具,它配合cr