Automatyczne Monitorowanie Dostępności Stron WWW: Skrypt Bash do Wykrywania Błędów HTTP i Powiadamiania E-mailem

Automatyczne Monitorowanie Dostępności Stron WWW: Skrypt Bash do Wykrywania Błędów HTTP i Powiadamiania E-mailem

Oto przykładowy skrypt w Bashu, który monitoruje działanie stron www i wysyła raport e-mailem w przypadku zwrócenia błędu HTTP 4xx lub 5xx. Zakładam, że masz plik tekstowy strony_do_monitorowania.txt, który zawiera adresy URL stron.

Skrypt (monitoruj_strony.sh):

#!/bin/bash

# Ścieżka do pliku z listą stron do monitorowania
LISTA_STRON="sciezka/do/strony_do_monitorowania.txt"

# Adres e-mail, na który zostanie wysłane powiadomienie
ADRES_EMAIL="twoj@email.com"

# Iteracja przez każdą stronę w pliku
while IFS= read -r STRONA; do
  # Sprawdzanie dostępności strony
  STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$STRONA")

  # Sprawdzanie, czy status to błąd 4xx lub 5xx
  if [[ "$STATUS" =~ ^[45] ]]; then
    # Wysyłanie powiadomienia e-mailem
    TEMAT="Powiadomienie o błędzie HTTP na stronie $STRONA"
    TRESC="Strona $STRONA zwróciła błąd HTTP $STATUS."
    echo "$TRESC" | mail -s "$TEMAT" "$ADRES_EMAIL"
  fi
done < "$LISTA_STRON"

Przykład pliku strony_do_monitorowania.txt:

https://www.przykladowastrona1.com
https://www.przykladowastrona2.com
https://www.przykladowastrona3.com

Po utworzeniu skryptu, nadaj mu prawa do wykonania:

chmod +x monitoruj_strony.sh

Następnie dodaj zadanie do crontab w celu uruchamiania skryptu cyklicznie:

<code>crontab -e</code>

Dodaj poniższą linię na końcu pliku crontab, aby skrypt uruchamiał się co 5 minut:

<code>*/5 * * * * /sciezka/do/monitoruj_strony.sh</code>

Zapisz plik crontab i zakończ edycję. Teraz skrypt będzie cyklicznie sprawdzał dostępność stron www i wysyłał e-mail z raportem w przypadku zwrócenia błędu HTTP 4xx lub 5xx.