Table des matières

Stats de votre RASPBERRY par Email


Le Script

Voici un petit Script Sympas qui vous permettra de recevoir par email les stats de votre joujou.

Prérequis

MailSystemStatus.sh
#!/bin/sh
rm -rf /tmp/stat
##############################################
# SCRIPT ÉTAT DU SYSTEME DE RASPBERRYPI      #
#             Powered by ME ;o)              #
#                                  v0.7      #
##############################################
echo Nous sommes le >>/tmp/stat
date >> /tmp/stat
echo >> /tmp/stat
echo "SALUT ADMIN! 🤘" >> /tmp/stat
echo "VOICI LE RAPPORT DE SANTÉ DE TON RASPBERRY" >> /tmp/stat
echo "|--------->^^<--------|" >> /tmp/stat
echo "|------C(.👀.)-------|" >> /tmp/stat
echo "|---------((👄))------|" >> /tmp/stat
echo "|------------><--------|" >> /tmp/stat
echo >> /tmp/stat
echo RASPBERRY™ THE BEST OR NOTHING! >> /tmp/stat
echo >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo             " (**\🔱RASPBERRY SYSTEM STATUS🔱/**) " >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo USED SPACE in WWW 📂  >> /tmp/stat
du -sh /var/www/html >> /tmp/stat
echo __________________________________________ >> /tmp/stat
echo USED SPACE in LOG 📂  >> /tmp/stat
du -sh /var/log >> /tmp/stat
echo __________________________________________ >> /tmp/stat
echo LOG STATUS 🧹  >> /tmp/stat
find /var/log -name "*.gz" -type f >> /tmp/stat
echo __________________________________________ >> /tmp/stat
echo MEMORY CONSUMPTION INFOS 📈  >> /tmp/stat
free -m >> /tmp/stat
echo __________________________________________ >> /tmp/stat
vcgencmd measure_temp | sed "s/temp=//" | sed -e 's/$/ de TEMPERATURE 🌡 /'>> /tmp/stat
echo __________________________________________ >> /tmp/stat
ps ax | wc -l | tr -d " " | sed -e 's/$/ PROCESS RUNNING ⏳ /' >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo UPTIME ⏱ and LOAD AVERAGE 💤  >> /tmp/stat
uptime >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo                     " (**\🔱SERVICES AUDIT🔱/**) " >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo                          "**| 🛡 FAIL2BAN 🛡 |**" >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo 🔱IP BANNED by FAIL2BAN🔱 >> /tmp/stat
grep " Ban " /var/log/fail2ban.log >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo 🔱FAIL2BAN JAILs STATUS🔱 >> /tmp/stat
fail2ban-client status >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo 🔱FAIL2BAN JAILs Apache STATUS🔱  >> /tmp/stat
fail2ban-client status apache-400 >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
fail2ban-client status apache-404 >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
fail2ban-client status apache-auth >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
fail2ban-client status apache-botsearch >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo 🔱FAIL2BAN JAILs Squid STATUS🔱  >> /tmp/stat
fail2ban-client status squid >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo 🔱FAIL2BAN JAILs Sshd STATUS🔱  >> /tmp/stat
fail2ban-client status sshd >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo                  "**| 🧨 IP ATTEMPT HACKING 🧨 |**" >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo IP By METHOD SCAN👁 >> /tmp/stat
grep -i "scan" /var/log/apache2/access.log | cut -c -42 >> /tmp/stat
echo __________________________________________ >> /tmp/stat
echo IP By METHOD PYTHON🐍 >> /tmp/stat
grep -i "python" /var/log/apache2/access.log | cut -c -42 >> /tmp/stat
echo __________________________________________ >> /tmp/stat
echo IP By METHOD CONNECT📡 >> /tmp/stat
grep -i "CONNECT" /var/log/apache2/access.log | sed '/::1/d' | cut -c -42 | tr -d '-' | tr -d '[]' >> /tmp/stat
echo __________________________________________ >> /tmp/stat
echo IP By METHOD POST🖋 >> /tmp/stat
grep -i "POST" /var/log/apache2/access.log | sed '/192.168./d' | cut -c -42 | tr -d '-' | tr -d '[]' >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo                "***| APACHE2 LOG WEB WATCH 🔎 |***" >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
grep -i "GET" /var/log/apache2/access.log | sed '/192.168./d' | sed '/MyRaspbianMachine/d' | cut -c -42 | tr -d '-' | tr -d '[]' >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
echo              "APACHE2 LOG MY WEB SITE WATCH 🔎 " >> /tmp/stat
echo .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. >> /tmp/stat
grep -i "MyRaspbianMachine" /var/log/apache2/access.log | sed '/192.168./d' | cut -c -45 | tr -d '-' | tr -d '[]' >> /tmp/stat
echo _________________________________________________________________  >> /tmp/stat
echo >> /tmp/stat
echo >> /tmp/stat
echo >> /tmp/stat
echo                                                                    "🔱YOUR BOT FRIEND ROBOTRASPBERRY™🔱" >> /tmp/stat
echo                                                                                                    "Powered By You For You!📌" >> /tmp/stat
echo >> /tmp/stat
#envoie du mail avec les statistique
mail -s "DAYLY REPORT MyRaspbianMachine SYSTEM STATUS" xxxxxxx@hotmail.com< /tmp/stat

Dans ce Script nous controlons l'état de Fail2Ban. (Ip Bannis par type d'accès)
Mais aussi les accès exterieur qu'il y a eu sur notre serveur Apache2. A vous d'adapter!! 8-)

Editer Crontab

Voici le type d'entré à ajouter pour faire executer votre script à 21h30.

sudo crontab -e
30 21 * * * /home/pi/Scripts/MailSystemStatus.sh >/dev/null 2>&1

N'oubliez pas de relancer Cron

/etc/init.d/cron reload

Dans cet exemple le Path est /home/pi/Scripts/ à vous de le modifier en fonction de l'endroit ou sera enregistrer votre script


sylvain 2020/07/08 18:55