nginx,php日誌分割

  做者: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
相關文章
相關標籤/搜索