nginx没有类似于apache的日志分割处理功能,但是,可以通过nginx的信号控制功能的脚本来实现日志的自动切割。请看下面的一个实例:
nginx对日志进行处理的脚本:
#!/bin/bash
#auth:zl
#
log_save='/home/nginx/logs'
nglogs='/var/log/nginx/logs'
mkdir -p $log_save/$(date +%Y)/$(date +%m)
mv $nglogs/access.log $log_save/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log
mv $nglogs/error.log $log_save/$(date +%Y)/ $(date +%m)/error.$(date +%Y%m%d).log
#USR1 nginx的信号参数,用于产生新的日志
kill -USR1 `cat /var/nginx/logs/nginx.pid`
将这段脚本加入到linux的crontab守护进程,让此脚本每天按时运行就可以实现日志的每天分割功能了。
nginx对日志进行处理的脚本:
#!/bin/bash
#auth:zl
#
log_save='/home/nginx/logs'
nglogs='/var/log/nginx/logs'
mkdir -p $log_save/$(date +%Y)/$(date +%m)
mv $nglogs/access.log $log_save/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log
mv $nglogs/error.log $log_save/$(date +%Y)/ $(date +%m)/error.$(date +%Y%m%d).log
#USR1 nginx的信号参数,用于产生新的日志
kill -USR1 `cat /var/nginx/logs/nginx.pid`
将这段脚本加入到linux的crontab守护进程,让此脚本每天按时运行就可以实现日志的每天分割功能了。