Added server statistic script

This commit is contained in:
MrFry 2020-04-10 15:25:11 +02:00
parent 88d487568c
commit cbda399176

124
serverStats.sh Executable file
View file

@ -0,0 +1,124 @@
#!/bin/bash
if [ "$#" -ne "1" ]; then
echo not enough params! please specify server root directory!
exit 1
fi
export TERM=xterm-256color
# COLORS
NC=''
# GRAY=''
R=''
G=''
# YELLOW=''
B=''
P=''
C=''
sep="${P}--------------------------------------------------------------------------------<=$NC"
pcolumns () {
mlength=35
NUM=0;
l=$(echo $"$1" | wc -l)
sizeof2=$(echo $"$2" | wc -l)
if [ "$l" -lt "$sizeof2" ]; then
l=$(echo $"$2" | wc -l)
fi
for i in $( eval echo {0..$l} )
do
line=$(echo -ne $"$1" | cut -d$'\n' -f $(($NUM+1)))
sliced="${line:0:$mlength}"
last="${line: -3}"
size=${#sliced}
diff=$(($mlength-$size))
if [ "$sliced" == "null" ]; then
echo -n ''
else
echo -en "$sliced"
fi
if [ "$diff" -gt "0" ]; then
diff=$((diff+2))
for j in $( eval echo {0..$diff} )
do
echo -n " "
done
else
echo -en "$last"
fi
sr=$(echo -ne $"$2" | cut -d$'\n' -f $(($NUM+1)))
r=$"${sr:0:$mlength}"
if [ "$r" == "null" ]; then
echo ''
else
echo "$r"
fi
NUM=$((NUM+1))
done
}
function jsonStats () {
dateind=$(date '+%Y/%m/%d')
b=$(cat "$1" | jq ".[\"$dateind\"]" | grep -ve '^{' | grep -ve '}$' | grep -ve '^\s*}')
bc=$(cat "$1" | jq ".[\"$dateind\"] | length")
b="\t${bc}\n${b}"
dateind=$(date -d 'yesterday' '+%Y/%m/%d')
a=$(cat "$1" | jq ".[\"$dateind\"]" | grep -ve '^{' | grep -ve '}$' | grep -ve '^\s*}')
ac=$(cat "$1" | jq ".[\"$dateind\"] | length")
a="\t${ac}\n${a}"
pcolumns $"$a" $"$b" | sed -E \
-e "s,/getVeteranPw,${C}&${NC},g" \
-e "s,/getVeteranpw,${C}&${NC},g" \
-e "s,/pwRequest,${C}&${NC},g" \
-e "s,/login,${C}&${NC},g" \
-e "s,/manual,${G}&${NC},g" \
-e "s,/allQuestions,${G}&${NC},g" \
-e "s,/subjectBrowser,${G}&${NC},g" \
-e "s,/repos,${G}&${NC},g" \
-e "s,/contribute,${G}&${NC},g" \
-e "s,/reops,${G}&${NC},g" \
-e "s,/feedback,${G}&${NC},g" \
-e "s,/menuClick,${G}&${NC},g" \
-e "s,/allqr,${G}&${NC},g" \
-e "s,/legacy,${G}&${NC},g" \
-e "s,/donate,${P}&${NC},g" \
-e "s,/thanks,${P}&${NC},g" \
-e "s,/tiszai,${P}&${NC},g" \
-e "s,/install,${P}&${NC},g" \
-e "s,/irc,${P}&${NC},g" \
-e "s,/postfeedback,${P}&${NC},g" \
-e "s,/servergit,${P}&${NC},g" \
-e "s,/scriptgit,${P}&${NC},g" \
-e "s,/classesgit,${P}&${NC},g" \
-e "s,/lred,${R}&${NC},g" \
-e "s,/isAdding,${B}&${NC},g" \
-e "s,/ask,${B}&${NC},g"
}
function jsonStatsLength () {
dateind=$(date '+%Y/%m/%d')
bc=$(cat "$1" | jq ".[\"$dateind\"] | length")
b="\t${bc}\n"
dateind=$(date -d 'yesterday' '+%Y/%m/%d')
ac=$(cat "$1" | jq ".[\"$dateind\"] | length")
a="\t${ac}\n"
pcolumns $"$a" $"$b"
}
echo -e "${G}Site requests yesterday / today:$NC"
jsonStats "${1}/stats/vstats"
echo -e "$sep"
echo -e "${G}UID test solving count yesterday / today:$NC"
jsonStatsLength "${1}/stats/idvstats"
echo -e "$sep"