做者:zhanhailiang 日期:2014-01-06
默認nginx只會生成一個access.log和一個error.log,而且天天不斷積累,日誌文件會變的很是大,若是須要作一下日誌的分析,不管是使用腳本分析,仍是把日誌下載本地分析,都不太方便。對php日誌一樣有如此需求。php
因此天天分割訪問日誌和錯誤日誌等,有利於分析日誌。nginx
#!/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