nginx,php日志分割

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

posted on 2014-01-07 16:18  love so much  阅读(510)  评论(0编辑  收藏  举报

导航