Nginx日志处理
来源:互联网 发布:唐门炮哥脸型数据 编辑:程序博客网 时间:2024/06/06 17:42
nginx日志切割一般的做法是:系统设定每天00:00执行脚本,mv后重新打开日志文件。但在切割后的日志中,除了昨天的日志外,还有少量的当天的日志,例如,0点之前是10号,那么切割后会有少量11号的日志,因为执行mv是需要时间的,即使是很短,期间会有少量日志写进去。
下面是两个nginx日志处理脚本:
1、每日凌晨日志分割,生成前天日志文件 ,rsync传送到日志服务器待分析。
2、日志服务器合并各站台日志,排序分离,生成按时间排序的前天、当天日志文件 。
3、web机保留一天日志,日志服务器保留合并、排序后的两天日志文件。
普通的两个脚本(甚至没有考虑性能),可贵之处在于经过自己学习shell,按照需求编写实现的。
nginx_log.sh
# Ip Address
IP_ADDRESS=`/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
mv /usr/local/nginx/logs/access.log ${LOG_PATH}/access_${IP_ADDRESS}_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
nginx_log_server.sh
sort -m -t " " -k 3 -o $LOG_PATH/$LOG_NAME $LOG_PATH/access_*_$(date -d "1 days ago" +"%Y%m%d").log
REGEX="\[$(date -d "0 days ago" +"%d\/%b\/%Y")"
sed -n "/$REGEX/p" $LOG_PATH/$LOG_NAME > ${LOG_PATH}/access_crontab_$(date -d "0 days ago" +"%Y%m%d").log
sed -i "/$REGEX/d" $LOG_PATH/$LOG_NAME
完整代码下载:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/2月/10日/Nginx日志处理/
- HADOOP 处理 NGINX 日志
- nginx日志处理
- awk 处理 nginx 日志
- Nginx日志处理
- awk处理nginx日志
- nginx日志处理
- nginx日志处理
- Nginx源代码分析 - 日志处理
- Nginx源代码分析 - 日志处理
- Nginx 的日志压缩处理
- logstash 处理nginx 访问日志
- logstash 处理nginx 错误日志
- Logstash -- Nginx 日志收集处理!
- Nginx源码分析——日志处理
- LOGSTASH+ELASTICSEARCH+KIBANA处理NGINX访问日志
- nginx 或tengine 访问日志分割处理
- logstash nginx error access 日志处理
- nginx日志导致IO负载较高,如何处理
- android 浮动的View不会跟随ScrollView消失而消失
- GB/T 1.1—2009《标准化工作导则 第1部分:标准的结构和编写》简介
- Qt Creator编译器设置:添加C++11支持
- 最长递增子序列 O nlgn时间复杂度
- GridView使用CommandField删除列实现删除时提示确认框
- Nginx日志处理
- Android Fragment——处理Fragment生命周期
- Android -HandleThread-给线程传参数
- Mars Chen的Broadcast Message Reciver实例总结
- file_get_contents超时设置时间
- JavaScript:this是什么?
- 微信开发第六篇服务器主动发送信息
- CSS样式表
- 做好自己,经营人际关系