cat catalina.out | grep "ReportId=.*" | sed -n "s/.*|//gp" | cut -d , -f 1,3 | sed 's/=/&\n/g' | sed -r 's/^@.*//gp' | sed 's/.*Report.*=//g' | sed '/^$/d'|sort -n | uniq -c
cat catalina.out.log | grep "@user=.*,ReportId=[0-9]*,SQL=.*,Param=.*" | sed 's/.*@user=\([a-z]*\.[a-z]*\),.*,ReportId=\([0-9]*\),SQL=\(.*\),Param=.*/\1,\2/g' | sort -t , -k 1,2 | uniq | cut -d , -f 2 | sort -n | uniq -c | sort -t " " -k 1 -r
#报表uv, #报表pv
cd /home/q/www/f_reportsys/logs
sudo touch tmpUv.txt
sudo touch uv.txt
sudo chmod 777 tmpUv.txt
sudo chmod 777 uv.txt
sudo touch tmpPv.txt
sudo touch pv.txt
sudo chmod 777 tmpPv.txt
sudo chmod 777 pv.txt
echo "" > tmpPv.txt
echo "" > tmpUv.txt
for(( i=0;i<5;i++ )) ; do
date=`date -d $i"day ago $1" +%Y-%m-%d`
file=catalina.out.$date.gz
echo $file
zcat $file | grep "ReportViewController.*@user=.*,ReportId=.*,SQL=.*" | sed 's/.*@user=\([a-z]*\.[a-z]*\),.*ReportId=\([0-9]*\).*/\1,\2/g' >> tmpUv.txt
zcat $file | grep "ReportViewController.*@user=.*,ReportId=.*,SQL=.*" | sed "s/.*ReportId=\([0-9]*\).*/\1/g" >> tmpPv.txt
done
#uv
cat tmpUv.txt | sed '/^$/d' | sed '/^0$/d' | sort -t , -k 1,2 | uniq | cut -d , -f 2 | sort -n | uniq -c | sort -t " " -k 1 -n -r > uv.txt
sudo rm -rf tmpUv.txt
#pv
cat tmpPv.txt | sed '/^$/d' |sed '/^0$/d'| sort -n | uniq -c | sort -n -t " " -k 1 -r > pv.txt
sudo rm -rf tmpPv.txt
#报表访问时间及人
cd /home/q/www/f_reportsys/logs
sudo touch access_user.csv
sudo chmod 777 access_user.csv
echo "" > access_user.csv
for(( i=0;i<7;i++ )) ; do
date=`date -d $i"day ago $1" +%Y-%m-%d`
if [ $i -eq 0 ];then
file=catalina.out
cat $file | grep ".*ReportViewController.*ReportId" | awk -F '|' '{print x=$1,$4}' | sed 's/\(.*\)\s@user=\([a-z]*.[a-z]*\).*ReportId=\([0-9]*\).*/\3,\2,\1/g' | sort -t , -n -k 1,2 >> access_user.csv
else
file=catalina.out.$date.gz
zcat $file | grep ".*ReportViewController.*ReportId" | awk -F '|' '{print x=$1,$4}' | sed 's/\(.*\)\s@user=\([a-z]*.[a-z]*\).*ReportId=\([0-9]*\).*/\3,\2,\1/g' | sort -t , -n -k 1,2>> access_user.csv
fi
echo $file
done
#自助取数查询量,执行时间最长的top10
cd /home/q/www/f_reportsys/logs
allNum=0
sudo touch top10.txt
sudo touch tmpTop10.txt
sudo touch accessNum.txt
sudo chmod 777 top10.txt
sudo chmod 777 tmpTop10.txt
sudo chmod 777 accessNum.txt
echo "" > accessNum.txt
for(( i=0;i<5;i++ )) ; do
date=`date -d $i"day ago $1" +%Y-%m-%d`
file=catalina.out.$date.gz
num=`zcat $file | grep "@user=[a-z]*\.[a-z]*,SQL=.*,executeTime=.*" | wc -l`
zcat $file | grep "@user=[a-z]*\.[a-z]*,SQL=".*",executeTime=.*" | sed 's/.*@user=\([a-z]*\.[a-z]*\),SQL=\(\".*\"\),executeTime=\(.*\)/\1@\2@\3/g'| sort -t \@ -n -k 3 -r | head -n 10 >> tmpTop10.txt
echo $date"访问量:"$num >> accessNum.txt
((allNum+=num))
done
echo "一周的总访问量为:"$allNum >> accessNum.txt
#执行时间最长的top10
cat tmpTop10.txt | sort -n -t \@ -k 3 -r | cut -d \@ -f 1,2,3 | head -n 10 > top10.txt
sudo rm -rf tmpTop10.txt
shell记录
最新推荐文章于 2023-06-21 14:57:45 发布