首页 > 代码库 > Nginx日志切割
Nginx日志切割
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日志切割
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。