作者: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