博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx日志分割
阅读量:6970 次
发布时间:2019-06-27

本文共 882 字,大约阅读时间需要 2 分钟。

hot3.png

1、应用场景

    当网站访问量大后,日志数据就会很多,如果全部写到一个日志文件中去,文件会变得越来越大。文件大速度就会慢下来,比如一个文件几百兆。写入日志的时候,会影响操作速度。另外,如果我想看看访问日志,一个几百兆的文件,下载下来打开也很慢。

2、shell脚本

    nginx-log-split.sh

    #!/bin/bash

    base_path='/home/wwwlogs'                            # nginx设置的日志保存目录

    log_path=$(date -d yesterday +"%Y%m")        # 日志分割之后保存地址

    day=$(date -d yesterday +"%d")                      # 日志名

    mkdir -p $base_path/$log_path

    mv $base_path/access.log $base_path/$log_path/access_$day.log

    kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

    1、nginx 的主进程收到USR1信号,会重新打开日志文件(以nginx配置文件中的日志名称命名,就是配置文件中access_log项所设置的值,如果文件不存在,会自动创建一个新的文件xxx.log)。

   2、然后把日志文件的拥有者改为“工作进程(worker进程)”,目的是让worker进程就具备了对日志文件的读写权限(master和worker通常以不同用户运行,所以需要改变拥有者)。

   3、nginx主进程会关闭重名的日志文件(也就是刚才使用mv命令重命名成xxx.log_ 20130909.log的文件),并通知工作进程使用新打开的日志文件(刚才主进程打开的文件xxx.log)。具体实现上更细化点就是,主进程把USR1信号发给worker,worker接到这个信号后,会重新打开日志文件(也就是配置文件中约定的xxx.log)

3、nginx日志分割下载到本地

    可以通过ansys完成

转载于:https://my.oschina.net/u/1422143/blog/672198

你可能感兴趣的文章
CentOS7 yum方式安装 MongoDB 3.4 复制集
查看>>
BP expects to restart drilling in Gulf in H2
查看>>
python通过range函数计算一组数的和的代码
查看>>
获取Android控件的宽和高
查看>>
2013-12-04(datePicker插件的使用)
查看>>
我的友情链接
查看>>
好记性不如烂笔头,今天起坚持每周一篇博文
查看>>
Linux面试题1
查看>>
Hadoop问题汇总
查看>>
初识Hibernate框架
查看>>
System Center 2012 SP1系列之SCO篇-(1)Orchestrator 安装
查看>>
第三只眼睛看美国
查看>>
数据库服务器事故总结
查看>>
什么是socket
查看>>
jquery学习笔记
查看>>
jquery下拉导航菜单(扩展很方便)
查看>>
js数字比较【牢记】
查看>>
如何实现密码域灰色默认提示?
查看>>
zabbix
查看>>
JAVA--虚函数,抽象函数,抽象类,接口
查看>>