|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- #!/bin/bash
- # Allo-GG
- # Routine de verification de l'etat des services
-
- echo "********************"
- date
- echo "********************"
- echo
-
- # BLINK for 10 sec
- timeout 10 /usr/local/bin/gpio -g blink 18 &
-
- # HORLOGE
- if timedatectl status | grep -q 'Time zone: Europe/Paris (CEST, +0200)'
- then
- if timedatectl status | grep -q 'Network time on: yes'
- then
- if timedatectl status | grep -q 'NTP synchronized: yes'
- then
- if timedatectl status | grep -q 'RTC in local TZ: no'
- then
- echo "[✅ OK] Horloge"
- else
- echo "[❌ ERREUR] Horloge - RTC in local TZ"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
- else
- echo "[❌ ERREUR] Horloge - NTP not synchronized"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
- else
- echo "[❌ ERREUR] Horloge - Network time is OFF"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
- else
- echo "[❌ ERREUR] Horloge - Bad Timezone"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
-
- # LOG2RAM
- if mount | grep -q 'log2ram on /var/log type tmpfs'
- then
- echo "[✅ OK] Log2Ram"
- else
- echo "[❌ ERREUR] Log2Ram"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
-
- # APACHE
- if /usr/sbin/service apache2 status | grep -q 'running'
- then
- echo "[✅ OK] Apache"
- else
- echo "[❌ ERREUR] Apache"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
-
- # CRON
- if /usr/sbin/service cron status | grep -q 'running'
- then
- echo "[✅ OK] CRON"
- else
- echo "[❌ ERREUR] CRON"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
-
- # SSH
- if /usr/sbin/service ssh status | grep -q 'running'
- then
- echo "[✅ OK] SSH"
- else
- echo "[❌ ERREUR] SSH"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
-
- # WIRINGPI
- if /usr/local/bin/gpio -v | head -n 1 | grep -q 'gpio version: [0-9]'
- then
- echo "[✅ OK] WiringPi"
- else
- echo "[❌ ERREUR] WiringPi"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
-
- # INTERNET
-
- # tester 5 ping
- if ping -c5 1.1.1.1 | grep -q '0% packet loss'
- # Si la reponse est 0 paquets perdu, alors OK
- then
- echo "[✅ OK] Internet"
- # Mais sinon, il y a un probleme
- else
- # Tentative de relancer le wifi ...
- sleep 2
- echo
- echo "[❌ ERREUR] Probleme sur le Wifi ? Tentative de relancer la connexion en cours ..."
- ifdown --force wlan0
- sleep 2
- ifup wlan0
- sleep 2
-
- # ... puis refaire un test, en testant 10 ping cette fois
- if ping -c10 1.1.1.1 | grep -q '0% packet loss'
- # Si la reponse est 0 paquets perdu, alors finalement tout va bien
- then
- echo "[✅ OK] Internet"
- # Mais si le probleme est toujours present, alors on alerte :
- else
- echo "[❌ ERREUR] Internet"
- /usr/local/bin/gpio -g write 18 1
- exit
- fi
- fi
-
- # Tout va bien ^_^ Allumage de la LED d'etat.
- /usr/local/bin/gpio -g write 18 0
- echo
- echo "[✅ OK] Tout va bien 👌"
- echo "********************"
- echo
- exit
|