Stats and support scripts

public-limited
J-Rios 2024-05-19 13:30:28 +02:00
rodzic 998cb08e5b
commit 6c9610dbf5
Nie znaleziono w bazie danych klucza dla tego podpisu
5 zmienionych plików z 115 dodań i 0 usunięć

Wyświetl plik

@ -33,3 +33,11 @@ monitor:
errors:
@ chmod +x $(TOOLS)/check_errors
@ $(TOOLS)/check_errors
catcfgchat:
@ chmod +x $(TOOLS)/catcfgchat
@ $(TOOLS)/catcfgchat
stats:
@ chmod +x $(TOOLS)/stats
@ $(TOOLS)/stats

10
tools/catcfgchat 100644
Wyświetl plik

@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Actual script directory path
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
echo ""
cat $DIR/../src/data/chats/$1/configs.json
echo ""
exit 0

Wyświetl plik

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Actual script directory path
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
DATE=$1
if [ "$DATE" = "" ]; then
YEAR=$(date +%Y)
MONTH=$(date +%m)
LAST_MONTH=$(expr $MONTH - 1)
DATE=$(echo $YEAR-$MONTH)
fi
CHATS=$(cat $DIR/../output.log | grep -e "${DATE}" | grep -e "New join detected" | grep -o -P '(?<= \[-).*(?=] )' | sort -u)
NUM_ACTIVE_GROUPS=$(echo "$CHATS" | sort -u | wc -l)
echo ""
echo "Active Groups:"
echo "$CHATS"
echo ""
echo "Active Groups in last and current months: $NUM_ACTIVE_GROUPS"
echo ""
exit 0

Wyświetl plik

@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Actual script directory path
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
DATE=$1
if [ "$DATE" = "" ]; then
DATE=$(date +%Y-%m-%d)
fi
cat $DIR/../output.log | grep -e "${DATE}" | grep -e "New join detected: " | awk '{print $8}' | sort | uniq -c | sort -u
exit 0

57
tools/stats 100644
Wyświetl plik

@ -0,0 +1,57 @@
#!/usr/bin/env bash
# Actual script directory path
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
LOGFILE="${DIR}/../output.log"
num_joins=-1
num_kicks=-1
num_bans=-1
num_solves=-1
num_spams=-1
# Usage: stats date
stats_get()
{
num_joins=$(cat $LOGFILE | grep -e "${1}" | grep -e "New join detected: " | wc -l)
num_kicks=$(cat $LOGFILE | grep -e "${1}" | grep -e "Captcha not solved, kicking" | wc -l)
num_bans=$(cat $LOGFILE | grep -e "${1}" | grep -e "Captcha not solved, banning" | wc -l)
num_solves=$(cat $LOGFILE | grep -e "${1}" | grep -e "Captcha solved by " | wc -l)
num_spams=$(cat $LOGFILE | grep -e "${1}" | grep -e "Removing spam" | wc -l)
}
# Usage: show_data date num_joins num_kicks num_solves
show_data()
{
echo "{"
echo " \"date\" : \"${1}\","
echo " \"num_joins\" : ${2},"
echo " \"num_kicks\" : ${3},"
echo " \"num_ban\" : ${4},"
echo " \"num_solves\" : ${5},"
echo " \"num_spams\" : ${6}"
echo "}"
echo ""
}
# Main functionality
if [ $# -gt 0 ]; then
date=$1
stats_get $date
show_data $date $num_joins $num_kicks $num_bans $num_solves $num_spams
else
date_y_m=$(date '+%Y-%m')
for day in {1..31}
do
if [ $day -lt 10 ]; then
date="${date_y_m}-0${day}"
else
date="${date_y_m}-${day}"
fi
stats_get $date
show_data $date $num_joins $num_kicks $num_bans $num_solves $num_spams
done
fi
exit 0