Nginx 访问日志轮询切割

Posted

tags:

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

默认情况下 nginx 会把所有的访问日志生成到一个指定的访问日志文件 access.log 里,但这样一来,时间长了就会导致日志个头很大,不利于日志的分析和处理,因此,有必要对 Nginx 日志,按天或按小时进行切割,使其分成不同的文件保存。

[[email protected] conf]# cat cut_nginx_log.sh 
#!/bin/bash
Dateformat=`date +%Y%m%d`
Basedir="/usr/local/nginx"
Nginxlogdir="$Basedir/logs"
Logname="access"
[ -d $Nginxlogdir ] && cd $Nginxlogdir || exit 1
[ -f ${Logname}.log ] || exit 1
/bin/mv ${Logname}.log ${Dateformat}_${Logname}.log
$Basedir/sbin/nginx -s reload
[[email protected] nginx]# crontab -l
0 0 * * * /bin/bash /usr/local/nginx/conf/cut_nginx_log.sh > /dev/null 2>&1

 

效果:

[[email protected] logs]# ll
-rw-r--r--. 1 root root    0 May 25 18:57 20170521_access.log
-rw-r--r--. 1 root root    0 May 25 18:57 20170522_access.log
-rw-r--r--. 1 root root    0 May 25 18:57 20170523_access.log
-rw-r--r--. 1 root root    0 May 25 18:57 20170524_access.log
-rw-r--r--. 1 root root    0 May 25 18:57 20170525_access.log
-rw-r--r--. 1 root root    0 May 25 18:57 access.log
-rw-r--r--. 1 root root 6083 May 25 18:57 error.log
-rw-r--r--. 1 root root    5 May 25 13:12 nginx.pid

 

 

 

 

    

 

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

Nginx日志轮询切割

Nginx的继续深入(日志轮询切割,重写,负载均衡等)

nginx日志轮询切割实战

logrotate+crond日志切割轮询

nginx日志自动切割打包

Shell脚本切割日志