g1-stats/soldeByDays.sh

60 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
startTime=$(date +'%H:%M')
day=$(date +'%y-%m-%d')
echo -e "\n############# $day à $startTime #############\n"
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
if [[ -e $SCRIPTPATH/.env ]]; then source $SCRIPTPATH/.env; else echo "Veuillez créer votre fichier .env inspiré de .env.example" && exit 1; fi
lsDaysW=$(ls $SCRIPTPATH/tmp/*_wallets) # | awk -F/ '{ print $NF }') # | awk -F_ '{ print $1 }')
nbrW=$(cat $lsDaysW | wc -l)
lsDaysW=$(echo "$lsDaysW" | awk -F/ '{ print $NF }')
lsDaysM=$(ls $SCRIPTPATH/tmp/*_mbr)
nbrM=$(cat $lsDaysM | wc -l)
lsDaysM=$(echo "$lsDaysM" | awk -F/ '{ print $NF }')
rm $SCRIPTPATH/tmp/*_solde 2>/dev/null
daysLoop() {
k=0
for i in $lsDays; do
# [[ $k -le 50 ]] && ((k++)) && continue
walletDay=$(cat $SCRIPTPATH/tmp/$i)
[[ -z $walletDay ]] && continue
dateLDay=$(echo $i | awk -F_ '{ print $1 }')
dateLDay=$(date -d "$dateLDay" +%s -u)
dateLDay=$(($dateLDay-3600*2))
dateHDay=$(($dateLDay+60*60*24))
dateHDay=$(($dateHDay+3600*2))
for j in $walletDay; do
echo "$(echo $i | awk -F_ '{ print $1 }'): $j"
curl -s ${DUNITER}/tx/history/$j/times/$dateLDay/$dateHDay | jq '.history.received[].outputs[]' | grep $j | awk -F: '{ print $1 }' | tr -d '" ' >> $SCRIPTPATH/tmp/${i}_solde
((k++))
clear
echo -e "\n############# $day à $startTime #############\n"
progress=$(echo "scale=1; $k*100/$nbr/1" | bc)
echo "Scan: $progress% - $k/$nbr"
done
# Somme de la journée
soldes=$(cat $SCRIPTPATH/tmp/${i}_solde | awk '{total+=$1}END{print total}')
echo $soldes > $SCRIPTPATH/tmp/${i}_solde
done
}
lsDays=$lsDaysW
nbr=$nbrW
daysLoop
lsDays=$lsDaysM
nbr=$nbrM
daysLoop
day=$(date +'%d-%m-%y')
echo "$day - Heure de fin: $(date +'%H:%M')"