Firmă SEO România - servicii SEO și mentenanță
Monitorizarea și restartarea serviciilor esențiale
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.

Back To Top