作者:zhanhailiang 日期:2014-01-06
默认nginx只会生成一个access.log和一个error.log,并且每天不断积累,日志文件会变的非常大,如果需要做一下日志的分析,无论是使用脚本分析,还是把日志下载本地分析,都不太方便。对php日志同样有如此需求。
所以每天分割访问日志和错误日志等,有利于分析日志。
#!/bin/sh # 每天定时分割 可选择相应版本低峰期运行 ngPid='/usr/local/nginx/logs/nginx.pid' phpFpmPid='/usr/local/php/var/run/php-fpm.pid' ngLogs='/usr/local/nginx/logs' # access.log error.log phpLogs='/usr/local/php/log' # errors.log slow.log saveLog='/home/service/logs' top=$saveLog/$(date +%Y)/$(date +%m) mkdir -p $top/nginx if [ -f $ngLogs/access.log ]; then mv $ngLogs/access.log $top/nginx/access.$(date +%Y%m%d).log fi if [ -f $ngLogs/error.log ]; then mv $ngLogs/error.log $top/nginx/error.$(date +%Y%m%d).log fi echo `cat $ngPid` kill -USR1 `cat $ngPid` # 重读日志文件 Reopen the log files mkdir -p $top/php if [ -f $phpLogs/errors.log ]; then mv $phpLogs/errors.log $top/php/errors.$(date +%Y%m%d).log fi if [ -f $phpLogs/php-fpm.log ]; then mv $phpLogs/php-fpm.log $top/php/php-fpm.$(date +%Y%m%d).log fi echo `cat $phpFpmPid` kill -USR1 `cat $phpFpmPid` # 重启php日志 Reopen the log files chmod -R 777 $top