Nginx日志处理
2015-08-28 15:16
579 查看
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日志处理/
下面是两个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日志处理/
相关文章推荐
- Nginx添加虚拟主机
- nginx 如何安装 nginx_lua_module 模块 以及 echo-nginx-module 模块
- nginx日志配置指令详解
- nginx(四)初识nginx日志文件
- nginx+php(fastcgi)安装教程
- 介绍Nginx
- Linux系统 - 源码编译安装Nginx
- Ubuntu系统安装配置Nginx、PHP、MySQL、ZendGuardLoader服务器环
- nginx+uwsgi+django报502错误分析
- nginx负载均衡基于ip_hash的session粘帖
- nginx中,ip_hash和url_hash的区别
- 解析 Nginx 负载均衡
- ubuntu下nginx的安装教程(过程可能有点不同)
- agentzh 的 Nginx 教程(版本 2015.03.19) 第二篇
- agentzh 的 Nginx 教程(版本 2015.03.19) 第一篇
- centOS linux 下nginx编译安装详解
- nginx php 配置模板
- nginx的站点安全
- nginx的站点安全
- nginx 代理情况下 jsp request.getservername 得不到代理服务器ip