Monitorització de l'emmagatzematge del servidor xat.fedi.cat

Com comentava sobre les quotes d’emmagatzematge fa un temps, l’emmagatzematge que tenim actualment al servidor és limitat.

Per a evitar que hi hagi problemes per un nombre massa gran d’usuaris que omplin tot l’emmagatzematge, he muntat un petit bot que m’envia un missatge si se sobrepassa el 70% d’emmagatzematge ple (ara som al 34%). A més a més, cada divendres m’envia un resum de la setmana, així podem detectar un increment pronunciat de l’ús de l’emmagatzematge i prendre les mesures que creguem més convenients (tancar registres, fer neteja…).

Deixo per aquí a tall de documentació el codi en bash que he fet:

#!/bin/bash

export DIR="/home/quota"

export PERC="$( df . | tr -s ' ' | cut -d ' ' -f 5 | sed '1d' )"

PERCENTATGES=("70%" "$PERC")

if [ "$(printf "%s\n" "${PERCENTATGES[@]}" | sort -n | head -n 1)" == "70%" ]
then
        python3 notifier.py send "S'ha sobrepassat: $PERC"
fi

echo "$(date +%d/%m/%y) - $PERC" >> "$DIR/server-quota.log"

# Enviar resum setmanal
if [ $(wc -l < "$DIR/server-quota.log") -gt 8 ]
then
        python3 notifier.py send "$(cat "$DIR/server-quota.log")"

        # Reinicialitzem el registre
        echo "RESUM SETMANAL:" > "$DIR/server-quota.log"
        echo "" >> "$DIR/server-quota.log"
fi

El notifier.py és una còpia d’aquest bot del DeltaChat, que funciona amb la biblioteca de Python deltabot-cli. Ara ha deixat de funcionar per alguna raó, però bé.

Està configurat perquè s’executi cada dia a les sis del matí amb un cronjob:
0 6 * * * bash /home/quota/quota.sh

5 'M'agrada'