統計頁面日訪問數累積和
阿新 • • 發佈:2021-07-08
統計nginx日訪問數累積和
長話短說,今天有點頭疼,眼痛。。。昨晚比較晚睡。。。
除錯了大半天的指令碼,算是弄好了。
這個需求源於早幾天,有個運營同事叫我統計上年8月到今年6月的累積訪問量,那會算的有點尷尬呢,因為只有這種統計檔案,一個月統計數寫到一個檔案上,前運維寫的。當時只能開啟每個月的統計檔案,列標記出每天數量,然後弄到excel裡,函式sum統計j結果。。。很費時間。於是一氣之下,給自己安排了這個需求。因為這個運營同事不是第一次問我拿這樣的資料了,中心有個人也是問我拿過。
先看看最終成果圖:
這個累計訪問數,從每年1月份開始算起,統計直到年底。
最終除錯指令碼
(這個是假設已經統計完4月份累積和,到開始統計5月份的)
1 #/bin/bash 2 ## 統計xxx網,累積使用者訪問數 3 4 y='2021' 5 6 m=`seq -f "%02g" 5 5` 7 d='1' 8 ym='202105' 9 10 sum01=${gd_path}/${ym}/sum/gd_count_sum.txt 11 sum=`tail -n 1 ${gd_path}/gdsum | awk -F ':' '{print $2}'` 12 13 14 >${sum01} 15 cat gd_count.txt | while read line 16 do 17 day=`seq -f "%02g" $d $d`18 gd_cnt=`echo $line | awk -F':' '{print $2}'` 19 sum=`expr $sum + $gd_cnt` 20 21 echo "xxx網 ${y}年${m}月${day}日 使用者累計訪問數為:${sum}" >> ${sum01} 22 sed -i '/'"${y}"'年'"${m}"'月'"${day}"'日/s/$/ 使用者累計訪問數為:'"${sum}"'/' gd_count.txt 23 24 d=`expr $d + 1` 25 done 26 27 lastsum=`tail-n 1 gd_count.txt | awk -F ':' '{print $3}'` 28 sleep 2 29 30 echo "xxxx網 ${y}年${m}月,使用者累計訪問數為:$lastsum" >> ${gd_path}/gdsum
指令碼不長,但坑比較多
1、先準備一個gdsum個檔案,用來存放每月累積和的。先寫入這樣一行,作為基準資料