1. 程式人生 > 其它 >統計頁面日訪問數累積和

統計頁面日訪問數累積和

統計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個檔案,用來存放每月累積和的。先寫入這樣一行,作為基準資料