nginx日志切割配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx日志切割配置相关的知识,希望对你有一定的参考价值。

1. 编辑脚本

    说明:date -d "-1 day" 表示昨天; %F表示年月日以Y%-m%-d形式;[-d ]表示判断是否有这个目录,如果没有就或关系,创建该目录;将每日的access.log文件挪到创建的目录/tmp/nginx_log/中,并命名为d变量的格式;reload用于重新生成acces.log,并重定向清空;考虑到切割的日志比较大,gzip -f判断日志是否存在,如果存在,则进行强制压缩(如果一天执行多次,该文件已经存在并压缩过,则会同名,-f覆盖不提示)

   vim /usr/local/sbin/nginx_logrotate.sh


#! /bin/bash
# author by huangzhenping
d=`date -d "-1 day" +%F`
[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_log
mv /tmp/access.log /tmp/nginx_log/$d.log
/etc/init.d/nginx reload > /dev/null
cd /tmp/nginx_log/
gzip -f $d.log


2. 日志切割脚本加入crond任务计划列表

    0 0 * * * /bin/bash /usr/local/sbin/nginx_logrotate.sh


3. 定期删除日志,crond计划列表

    0 0 * * * find /tmp/nginx_log/ -type f -mtime +10 |xargs rm


本文出自 “一马踏平川” 博客,请务必保留此出处http://huangzp.blog.51cto.com/12434999/1900658

以上是关于nginx日志切割配置的主要内容,如果未能解决你的问题,请参考以下文章

10.Nginx配置文件与日志切割

10.Nginx配置文件与日志切割

nginx日志切割配置

Nginx访问日志日志切割及静态文件不记录日志和过期时间的配置

nginx配置日志切割

nginx访问日志,日志切割,静态文件不记录日志和过期时间