Google Analytics 4 este mai mult decât un instrument de monitorizare a traficului. Folosit strategic,…
Monitorizarea și restartarea serviciilor esențiale
Monitorizarea și restartarea serviciilor esențiale cu cron și script
Monitorizarea și restartarea serviciilor esențiale cu cron și script. Monitorizarea și restartarea automată a serviciilor esențiale reprezintă un pas crucial în administrarea serverelor SEO.
Prin folosirea unui script simplu în combinație cu cron, se pot evita căderile neașteptate ale website-urilor și se asigură o disponibilitate ridicată a serviciilor online.
Monitorizarea și restartarea serviciilor esențiale
1. De ce este importantă monitorizarea serviciilor?
Pe orice server de producție, serviciile esențiale precum Apache, MySQL, PHP-FPM sau Nginx trebuie să funcționeze continuu.
O cădere neașteptată a unui serviciu poate duce la întreruperea funcționării website-ului și pierderea vizitatorilor sau a vânzărilor.
Prin urmare, monitorizarea automată și repornirea serviciilor este o practică fundamentală pentru administratori.
2. Ce este cron?
Cron este un utilitar Linux care permite programarea automată a execuției comenzilor la intervale regulate.
Folosind cron, se pot rula scripturi de verificare a serviciilor din minut în minut, din oră în oră sau zilnic, în funcție de necesitate.
3. Crearea unui script de monitorizare a serviciilor
Mai jos este un exemplu de script Bash care verifică dacă serviciile Apache și MySQL sunt active și, dacă nu, le repornește automat:
#!/bin/bash
SERVICII=("apache2" "mysql")
for SERVICIU in "${SERVICII[@]}"
do
if systemctl is-active --quiet $SERVICIU
then
echo "$SERVICIU funcționează."
else
echo "$SERVICIU este oprit. Repornim..."
systemctl restart $SERVICIU
echo "$SERVICIU a fost repornit."
fi
done
Salvați acest fișier cu un nume precum monitorizare-servicii.sh și asigurați-vă că are permisiuni de execuție:
chmod +x /root/monitorizare-servicii.sh
4. Adăugarea scriptului în cron
Deschideți crontab cu comanda:
crontab -e
Adăugați linia următoare pentru a rula scriptul din 5 în 5 minute:
*/5 * * * * /root/monitorizare-servicii.sh >> /var/log/monitorizare.log 2>&1
Această comandă va rula scriptul și va salva ieșirea în fișierul /var/log/monitorizare.log.
5. Extinderea scriptului pentru alte servicii
Puteți adăuga orice serviciu de sistem în listă, precum php8.1-fpm, nginx, csf sau clamav-daemon. Exemplu:
SERVICII=("nginx" "php8.1-fpm" "mysql")
6. Notificări prin email
Pentru a fi notificat când un serviciu este repornit, puteți adăuga în script trimiterea unui email:
echo "$SERVICIU a fost repornit pe serverul $(hostname)" | mail -s "Restart serviciu: $SERVICIU" admin@example.com
Asigurați-vă că aveți configurat un serviciu de mail local precum mailutils.
7. Alternativă: Utilizarea tool-urilor dedicate
Există soluții terțe pentru monitorizarea serviciilor și repornirea automată, precum:
- Monit – ușor de configurat, include și interfață web
- Supervisor – ideal pentru procese personalizate
- Systemd unit watchdog – pentru servicii critice care necesită relansare automată
8. Bună practică: loguri și audit
Păstrați logurile generate de script pentru a avea un istoric al incidentelor.
Revizuiți periodic logul pentru a identifica eventuale instabilități ale serviciilor.
