Learn and communicate with everyone, and hope to point out the shortcomings.
#!/bin/bash# this script run at 00:00# the nginx logs path# Zhengyansheng time:2014-08-27logs_path= "/usr/local/nginx/logs/" access_dir= "/usr/local/nginx/logs/Insert_ MongoDB "mkdir -p ${logs_path}$ (date -d " Yesterday " +"%Y ")/$ (date -d " Yesterday " +"%m "+"%d ") mv $logs _path/access.log ${logs_path}$ (date -d " Yesterday " + "%Y")/$ (date -d "Yesterday" + "%m" + "%d")/access_$ (date -d "Yesterday" + "%Y %m%d%h%m "). logcat ${logs_path}$ (date -d " Yesterday " +"%Y ")/$ (date -d " Yesterday " + "%m" + "%d")/access_$ (date -d "Yesterday" + "%y%m%d%h%m") .log > $logs _path/ access_mongo.log/usr/local/nginx/sbin/nginx -s reloadcat $logs _path/access_mongo.log | while read line;docookieid= ' echo $line |awk -F "uid=" ' {print $2 } ' | awk ' {print $1} ' | grep -v "^$" ' ip= ' echo $line | awk ' {print $3} ' Appkey= ' echo $line | awk ' {print $1} ' visidate= ' echo $line | awk ' {print $2} ' | awk -F ' [' ' {print $2} ' #visidate = ' echo $line | gawk -f '? id= ' ' { print $2 } ' |cut -d ' & ' -f1 ' browsertype= ' echo $line | awk -F "\" " ' {print $6} ' refer= ' echo $line | awk -f "\" " ' {print $4} ' os= ' echo $line | awk -F " \ "" ' { print $6} ' |awk ' {print $1} ' videoid= ' echo $line | gawk -f '? id= ' ' { print $2 } ' |cut -d ' & ' -f1 ' #videoID = ' echo $line | awk -F "\" " ' {print $2} ' | awk -F "/?id= " ' {print $2} ' |awk -F "&" ' {print $1} ' |awk ' {print $1} ' #插入到正表中 #sql= ' Db.user.visit.data.insert ({browsertype: ' $browsertype ', Cookieid: ' $cookieId ', AppKey: ' $appKey ', IP: ' $ip ' ', os: ' $os ' ', Referer: ' $refer ' ', Videoid:parseint (' $videoID '), Visitdate:isodate (' $visidate ')}) "Sql=" Db.user.visit.data.insert ({browsertype: ' $browsertype ', Cookieid: ' $ Cookieid ', AppKey: ' $appKey ', IP: ' $ip ' ', os: ' $os ' ', Referer: ' $refer ' ', videoid: ' $videoID ', Visitdate:isodate (' $ Visidate ')}) "echo " $sql " >> $logs _path/nginx_log_mongo.txtdonecat $logs _path/nginx_ log_mongo.txt | mongo 192.168.0.200:27018/ubs -u vmsdd -p ' 123456 ' mv $ logs_path/nginx_log_mongo.txt $logs _path/nginx_log_mongo_bak.txtrm -rf $logs _path/nginx_log_ Mongo_bak.txt
This article is from the "Zheng" blog, make sure to keep this source http://467754239.blog.51cto.com/4878013/1550502
Nginx, MongoDB script on the line