標籤:nginx log mongodb ApsaraVideo for VOD
#!/bin/bash# This script run at 00:00# The Nginx logs path# zhengyansheng time:2014-08-27# Qq 467754239logs_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_hktv.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}‘`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`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.100:27017/hktv_tv -u hktv -p cdvcloud#123mv $logs_path/nginx_log_mongo.txt $logs_path/nginx_log_mongo_bak.txt
任務計劃!先日誌切割、然後再儲存到mongodb資料庫中,
*/5 * * * * /bin/bash /usr/local/nginx/logs/nginx_mongo.sh
這個指令碼已多次最佳化並線上程成功運作!如果有不足之處還請指出,謝謝
本文出自 “鄭彥生” 部落格,請務必保留此出處http://467754239.blog.51cto.com/4878013/1548026
nginx的log日誌儲存到mongodb做視頻點擊熱門排行榜