Automatizarea redirectărilor masive cu script Bash. Automatizarea redirectărilor masive cu ajutorul unui script Bash reprezintă…

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.