码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx日志切割

时间:2017-05-20 10:02:20      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:nginx日志切割   通过   需要   kill   find   切割   anacron   name   cron   

Nginx日志每天需要通过切割来分析,笔者采用过两种方式,一种是shell脚本,一种是利用系统自带的logrotate。笔者倾向采用shell脚本,主要是因为在CentOS6中,logrotate是由crond计划任务执行的,而cron.daily是由anacron来处理,在日志轮转的时候时间具有延迟不确定性,而nginx日志一般都希望在0点切割,时间差尽量缩小,其实通过一些方法可以将CentOS6的cron.daily遵照准确时间来执行,这里笔者暂不介绍。

shell脚本切割nginx日志:

# cat /data/shell/cut_nginx_logs.sh 

#!/bin/sh
PIDFILE=/var/run/nginx.pid
LOG_PATH="/data/wwwlogs"
DATE=`date +%Y%m%d`
LOGFILELIST="api.test.com_nginx.log www.test.com_nginx.log"
cd $LOG_PATH
for logfile in $LOGFILELIST
do
   mv $LOG_PATH/$logfile $LOG_PATH/$logfile-$DATE
   kill -USR1 `cat $PIDFILE` &>> /tmp/cut_nginx.log
   tar zcf $logfile-${DATE}.tgz  $logfile-${DATE} && rm -f $logfile-$DATE
   /bin/find $LOG_PATH -mtime +30 -type f  -name $logfile-\* | xargs rm -f
   sleep 1
done

 

Nginx日志切割

标签:nginx日志切割   通过   需要   kill   find   切割   anacron   name   cron   

原文地址:http://www.cnblogs.com/elisun/p/6880870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!