Linux nginx日志按天分割实例

 

nginx的日志有个小缺点,日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将导致日志文件非常大,不便于管理

这就需要我们自己来实现了,按日期每天生产一个日志文件

思路

每天零点把默认日志文件改名为当天日期,再重新打开新的日志文件

使用定时任务来执行脚本,脚本中执行改名和重新打开日志文件的操作

向Nginx主进程发送 USR1 信号,就可以重新打开日志文件

实现

#/bin/bash

#备份日志的路径
bakpath='/home/nginx/logs'

#nginx日志路径
logpath='/usr/local/nginx/logs'

#在备份路径下创建年月子目录
mkdir -p $bakpath/$(date +%Y)/$(date +%m)

#移动日志文件到备份路径,并改名为日期格式
mv $logpath/access.log $bakpath/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log

mv $logpath/error.log $bakpath/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log

#用 USR1 信号让nginx重新打开日志文件
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

Linux nginx日志按天分割实例的更多相关文章

  1. Nginx 日志按天分割

    #nginx日志切割脚本 #!/bin/bash #设置日志文件存放目录 logs_path="/home/www.xxx.com/wwwlogs/" #设置pid文件 pid_p ...

  2. Nginx日志按天分割

    核心思想:使用crontab在每日23:59执行日志分割. 1.配置nginx日志信息,vim /etc/logrotate.d/nginx /var/log/nginx/*.log { nocomp ...

  3. nginx 日志之 access_log分割

    如果任由访问日志写下去,日志文件会变得越来越大,甚至是写满磁盘. 所以,我们需要想办法把日志做切割,比如每天生成一个新的日志,旧的日志按规定时间删除即可. 实现日志切割可以通过写shell脚本或者系统 ...

  4. linux Nginx 日志脚本

    这篇文章主要介绍了nginx日志切割脚本.nginx日志分析脚本等,需要的朋友可以参考下. 参考自:http://www.jbxue.com/article/13927.html 任务计划 cront ...

  5. nginx日志切割总结

    Nginx日志切割   方法1(脚本+定时执行): #step1:加脚本 cut_nginx_log.sh,主进程把USR1信号发给worker,worker接到这个信号后,会重新打开日志文件 #!/ ...

  6. nginx日志分割配置实例

    Nginx没有类似Apache的cronolog日志分割处理的功能,但是,可以通过nginxNginx的信号控制功能利用脚本来实现日志的自动切割.请看下面的一个实例.Nginx对日志进行处理的脚本: ...

  7. logrotate 进行nginx日志分割

    http://www.williamsang.com/archives/1254.html 日志分割常用方法: 自己写脚本分割 使用linux自带的logrotate 前者灵活,可以应对各种需求,自定 ...

  8. Nginx 日志自动分割

    Nginx 的日志都是写在一个文件当中的,不会自动地进行切割,如果访问量很大的话,将导致日志文件容量非常大,不便于管理和造成Nginx 日志写入效率低下等问题.所以,往往需要要对access_log. ...

  9. nginx 日志分割(简单、全面)

    Nginx 日志分割 因业务需要做了简单的Nginx 日志分割, 第1章 详细配置如下. #建议在mkdir  /home/shell  -p 专门写shell 脚本位置 root@localhost ...

随机推荐

  1. LINUX VI 常用命令

    vi 打开或新建 vi filename 打开或新建文件 并将光标置于第一行首 光标 )  光标移至句尾 (  光标移至句首 屏幕翻滚类命令 Ctrl+u 向文件首翻半屏 Ctrl+d 向文件尾翻半屏 ...

  2. Linux内核设计第五周——扒开系统调用三层皮(下)

    Linux内核设计第五周 ——扒开系统调用三层皮(下) 一.知识点总结 1.给MenuOS增加新的命令的步骤 更新menu代码到最新版 test.c中main函数里,增加MenuConfig() 增加 ...

  3. Fixing “WARNING: UNPROTECTED PRIVATE KEY FILE!” on Linux

    If you are getting this error then you probably reset the permissions on your hidden .ssh directory ...

  4. keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群

    keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群 内网路由都用mac地址 一个mac地址绑定多个ip一个网卡只能一个mac地址,而且mac地址无法改,但 ...

  5. AndroidStudio2.0开发环境搭建

    实验内容 下载安装Android Studio 配置使用环境 实验要求 下载安装Android Studio 基本环境配置 实验步骤 1.首先从安卓开发者网站下载最新的Android Studio h ...

  6. cxf client在后台不通且chunk设置为false的时候不能在控制台输出请求日志

    场景: 服务编排框架支持编排webservice服务.call webservice的client是基于cxf做的.为了使用服务编排的开发者调试与定位问题方便,需要将webservice的请求与响应报 ...

  7. Leetcode: Strong Password Checker

    A password is considered strong if below conditions are all met: It has at least 6 characters and at ...

  8. Ubuntu 16.04 802.1x 有线连接

    Ubuntu下使用MentoHUST搞定 锐捷校园网认证网络 http://www.linuxidc.com/Linux/2013-10/91157.htm

  9. s3c2440 移值u-boot-2016.03 第1篇 新建单板

    目前除RC版外,最新的就是 u-boot-2016.03.tar.bz2 ,大概看了几个年份的u-boot 发现,现在 更像是 linux kernel .有 menuconfig . 对比2012年 ...

  10. 机器人操作系统(ROS)教程4:ROS的框架【转】

    转自:http://www.arduino.cn/thread-11351-1-1.html 在进行ROS的代码开发前,有必要了解一些ROS的概念.首先,ROS的系统代码分为两部分:main和univ ...