欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell統(tǒng)計pv和uv、獨立ip的方法

 更新時間:2014年04月24日 11:03:37   作者:  
這篇文章主要介紹了shell統(tǒng)計pv和uv、獨立ip的方法,需要的朋友可以參考下

每天分析日志的哥們實在傷不起,經(jīng)常需要給出PV,UV,獨立IP等一些統(tǒng)計值,使用C/C++,java都可以寫,過程是這樣的,先讀取文件,逐行掃描,把能標(biāo)記的值放入數(shù)據(jù)結(jié)構(gòu)中,排重得出最終結(jié)果,其實Linux本身有很強(qiáng)大的文本處理功能,完全可以用shell + 一些文本小工具得出結(jié)果。

Nngix輸出的access log文件如下:

日志文件代碼 

復(fù)制代碼 代碼如下:

192.168.1.166 - - 119272312 [05/Nov/2011:16:06:59 +0800] "GET /index.html HTTP/1.1" 200 370 "http://192.168.1.201/" "Chrome/15.0.874.106" "-" 
192.168.1.166 - - 119272312 [05/Nov/2011:16:06:59 +0800] "GET /poweredby.png HTTP/1.1" 200 3034 "http://192.168.1.201/" "Chrome/15.0.874.106" "-" 
192.168.1.177 - - 1007071650 [05/Nov/2011:16:06:59 +0800] "GET /favicon.ico HTTP/1.1" 404 3650 "-" "Chrome/15.0.874.106" "-" 
192.168.1.178 - - 58565468 [05/Nov/2011:16:17:40 +0800] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" "-" 
192.168.1.166 - - 119272312 [05/Nov/2011:16:17:40 +0800] "GET /nginx-logo.png HTTP/1.1" 200 370 "http://192.168.1.201/" "Chrome/15.0.874.106" "-" 
 

PV很簡單,大致就是統(tǒng)計某個URL的訪問次數(shù),例如統(tǒng)計/index.html的訪問次數(shù)

復(fù)制代碼 代碼如下:
 
grep "/index.html" /var/log/nginx/access.log –c 

UV呢,我們根據(jù)用戶標(biāo)識(第四列) ,首先需要字符串截取,使用cut命令,以空格符號分割,-d “ ”, 再取第四列-f 4,然后這里需要排重,需要使用uniq工具,uniq速度很快,但是基于就近排重,前一個后一個一樣會排重,之間間隔了不一樣的,就不行了,這就必須使用sort工具來對標(biāo)識符進(jìn)行排序,排序后再使用uniq工具就可以達(dá)到目的,之間我們用管道符號鏈接, 最后再用 wc –l 輸出統(tǒng)計數(shù)

比如我們統(tǒng)計訪問了/index.html這也頁面的uv:

復(fù)制代碼 代碼如下:

grep "/index.html" /var/log/nginx/access.log | cut –d “ ” –f 4| sort | uniq | wc –l 


獨立IP:

假設(shè)我們要統(tǒng)計整站的獨立IP,那么我們不需要使用 grep來匹配具體頁面,只需要使用cat輸出即可:

復(fù)制代碼 代碼如下:

cat /var/log/nginx/access.log | cut –d “ ” –f 1 | sort| uniq | wc -l 


都木有使用強(qiáng)大的awk,就完成了基本的統(tǒng)計需求:)

相關(guān)文章

  • Linux下使用Rsync完成自動化備份

    Linux下使用Rsync完成自動化備份

    對于運(yùn)維人員來說,數(shù)據(jù)備份是最重要的工作之一,rsync就是一款通過網(wǎng)絡(luò)備份重要數(shù)據(jù)的工具/軟件。
    2018-09-09
  • shell腳本怎樣判斷文件是否存在

    shell腳本怎樣判斷文件是否存在

    這篇文章主要介紹了shell腳本怎樣判斷文件是否存在問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • linux服務(wù)器安全加固shell腳本代碼

    linux服務(wù)器安全加固shell腳本代碼

    有時候安裝完服務(wù)器以后,需要一些安全設(shè)置,這段腳本就是為了安全加固所寫,需要的朋友可以參考下
    2013-06-06
  • Linux系統(tǒng)上實現(xiàn)定時重啟Tomcat服務(wù)腳本介紹

    Linux系統(tǒng)上實現(xiàn)定時重啟Tomcat服務(wù)腳本介紹

    大家好,本篇文章介紹的是Linux系統(tǒng)上實現(xiàn)定時重啟Tomcat服務(wù)腳本介紹,感興趣的同學(xué)趕緊來看看,希望可以對你起到幫助
    2021-11-11
  • 一問弄懂Shell變量四大分類

    一問弄懂Shell變量四大分類

    Shell變量分為環(huán)境變量、本地變量、位置參數(shù)變量和特殊變量,本文就詳細(xì)的介紹一下這四種變量的具體使用,具有一定的參考,感興趣的可以了解一下
    2023-05-05
  • 分享shell編程中的幾個小技巧

    分享shell編程中的幾個小技巧

    分享shell編程中的幾個小技巧,學(xué)習(xí)shell編程的朋友可以看下
    2013-02-02
  • shell腳本傳參中包含有空格的參數(shù)

    shell腳本傳參中包含有空格的參數(shù)

    本文主要介紹了shell腳本傳參中包含有空格的參數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Shell 命令執(zhí)行順序分析[圖]

    Shell 命令執(zhí)行順序分析[圖]

    Shell 從標(biāo)準(zhǔn)輸入或腳本中讀取的每一行稱為管道(pipeline);它包含了一個或多個命令(command),這些命令被一個或多個管道字符(|)隔開
    2013-01-01
  • linux中shell的變量的數(shù)值計算

    linux中shell的變量的數(shù)值計算

    今天小編就為大家分享一篇關(guān)于linux中shell的變量的數(shù)值計算,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Bash Shell中忽略大小寫的設(shè)置方法

    Bash Shell中忽略大小寫的設(shè)置方法

    這篇文章主要介紹了Bash Shell中忽略大小寫的設(shè)置方法,本文還講解了其它的一些方便輸入命令的設(shè)置,如關(guān)閉顯示隱藏文件、只按一次TAB鍵、搜索歷史命令等技巧,需要的朋友可以參考下
    2015-04-04

最新評論