統(tǒng)計(jì)web服務(wù)器每天客戶訪問量及每個時段的訪問量
前提:在這之前我每天到公司習(xí)慣性的統(tǒng)計(jì)一下昨天的總訪問量及每個時段的訪問量恩掷,今天突然想起能不能腳本的方式實(shí)現(xiàn)我想要的功能呢圆兵,經(jīng)過一上午的試驗(yàn),終于測試成功异赫,寫了3種不同的方法茎芋,最后一種方法最簡單
第一種方法(這種方法不靈活把沼,太機(jī)械了)
read -p "請輸入要查詢的日志文件:" logFile
if [ -e $logFile ];then
all=`cat $logFile | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天訪問問的總?cè)藬?shù)為:$all"
on0=`cat $logFile | grep "16/Jan/2016:00" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天0點(diǎn)訪問的人數(shù)有:$on0"
on1=`cat $logFile | grep "16/Jan/2016:01" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天1點(diǎn)訪問的人數(shù)有:$on1"
on2=`cat $logFile | grep "16/Jan/2016:02" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天2點(diǎn)訪問的人數(shù)有:$on2"
on3=`cat $logFile | grep "16/Jan/2016:03" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天3點(diǎn)訪問的人數(shù)有:$on3"
on4=`cat $logFile | grep "16/Jan/2016:04" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天4點(diǎn)訪問的人數(shù)有:$on4"
on5=`cat $logFile | grep "16/Jan/2016:05" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天5點(diǎn)訪問的人數(shù)有:$on5"
on6=`cat $logFile | grep "16/Jan/2016:06" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天6點(diǎn)訪問的人數(shù)有:$on6"
on7=`cat $logFile | grep "16/Jan/2016:07" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天7點(diǎn)訪問的人數(shù)有:$on7"
on8=`cat $logFile | grep "16/Jan/2016:08" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天8點(diǎn)訪問的人數(shù)有:$on8"
on9=`cat $logFile | grep "16/Jan/2016:09" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天9點(diǎn)訪問的人數(shù)有:$on9"
on10=`cat $logFile | grep "16/Jan/2016:10" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天10點(diǎn)訪問的人數(shù)有:$on10"
on11=`cat $logFile | grep "16/Jan/2016:11" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天11點(diǎn)訪問的人數(shù)有:$on11"
on12=`cat $logFile | grep "16/Jan/2016:12" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天12點(diǎn)訪問的人數(shù)有:$on12"
on13=`cat $logFile | grep "16/Jan/2016:13" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天13點(diǎn)訪問的人數(shù)有:$on13"
on14=`cat $logFile | grep "16/Jan/2016:14" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天14點(diǎn)訪問的人數(shù)有:$on14"
on15=`cat $logFile | grep "16/Jan/2016:15" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天15點(diǎn)訪問的人數(shù)有:$on15"
on16=`cat $logFile | grep "16/Jan/2016:16" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天16點(diǎn)訪問的人數(shù)有:$on16"
on17=`cat $logFile | grep "16/Jan/2016:17" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天17點(diǎn)訪問的人數(shù)有:$on17"
on18=`cat $logFile | grep "16/Jan/2016:18" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天18點(diǎn)訪問的人數(shù)有:$on18"
on19=`cat $logFile | grep "16/Jan/2016:19" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天19點(diǎn)訪問的人數(shù)有:$on19"
on20=`cat $logFile | grep "16/Jan/2016:20" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天20點(diǎn)訪問的人數(shù)有:$on20"
on21=`cat $logFile | grep "16/Jan/2016:21" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天21點(diǎn)訪問的人數(shù)有:$on21"
on22=`cat $logFile | grep "16/Jan/2016:22" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天22點(diǎn)訪問的人數(shù)有:$on22"
on23=`cat $logFile | grep "16/Jan/2016:23" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天23點(diǎn)訪問的人數(shù)有:$on23"
fi
第二種方法(通過for循環(huán)的方式)
!/bin/bash
read -p "請輸入要查詢的日志文件:" logFile
if [ -e $logFile ];then
all=`cat $logFile | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天訪問的總?cè)藬?shù)為:$all人"
for i in $(seq 0 23);do
if [ $i -le 9 ];then
on0=`cat $logFile | grep "16/Jan/2016:0$i" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天$i點(diǎn)訪問的人數(shù)有:$on0人"
else
on0=`cat $logFile | grep "16/Jan/2016:$i" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天$i點(diǎn)訪問的人數(shù)有:$on0人"
fi
done
else
echo "你輸入的文件不存在,請重新輸入秩伞!"
fi
第三種方法(通過寫方法的方式來實(shí)現(xiàn)逞带,用的時候直接調(diào)用)
!/bin/bash
function fileName() {
all=`cat $logFile | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天訪問的總?cè)藬?shù)為:$all人"
for i in $(seq 0 23);do
if [ $i -le 9 ];then
on0=`cat $logFile | grep "16/Jan/2016:0$i" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天$i點(diǎn)訪問的人數(shù)有:$on0人"
else
on0=`cat $logFile | grep "16/Jan/2016:$i" | cut -d' ' -f1 | sort -n | uniq -c | sort -n | wc -l`
echo "今天$i點(diǎn)訪問的人數(shù)有:$on0人"
fi
done
}
read -p "請輸入要查詢的日志文件:" logFile
if [ -e $logFile ];then
fileName
else
echo "你輸入的文件不存在,請重新輸入纱新!"
fi
wKiom1acjTOAHYJrAABna9h_Ee4012.png
image
轉(zhuǎn)自https://blog.csdn.net/Richardlygo/article/details/83095965