2.2 KiB
URL Monitoring Script
Ce script est conçu pour surveiller l'état et le contenu des URLs spécifiées dans une base de données SQLite. Il envoie des notifications par e-mail lorsqu'il détecte des changements dans le statut HTTP ou le contenu HTML des sites Web surveillés.
Prérequis
- Système d'exploitation Linux (testé sur Debian et Fedora)
- Bash (Bourne Again Shell)
- SQLite
- Curl
Configuration
- Assurez-vous d'avoir les droits d'exécution sur le script :
chmod +x script_monitoring.sh
- Assurez-vous que les dépendances (SQLite, Curl) sont installées sur votre système.
Utilisation
-
Éditez le script
script_monitoring.sh
et configurez les variables au début du fichier selon vos besoins :email
: Adresse e-mail pour les notificationsuserAgent
: User-Agent pour les requêtes HTTPdatabase
: Chemin vers la base de données SQLite contenant les URLs à surveillerdelay_expiration
: Délai d'expiration en secondes pour les URLs sans prochaine vérification spécifiée
-
Exécutez le script en utilisant la commande suivante :
./script_monitoring.sh
Fonctionnalités
1. Vérification du statut HTTP (Code 200)
Le script vérifie régulièrement le statut HTTP des URLs spécifiées. Si le statut change, une notification par e-mail est envoyée, et le nouveau statut est enregistré dans la base de données.
2. Vérification du contenu HTML
Le script peut également vérifier le contenu HTML des URLs en utilisant une expression Bash. Si le contenu change, une notification par e-mail est envoyée, et le nouveau contenu est enregistré dans la base de données.
3. Planification des vérifications
Le script utilise le champ next_check
dans la base de données pour planifier les prochaines vérifications. Une fois la vérification effectuée, le champ est mis à jour avec la prochaine date de vérification.
4. Enregistrement des Logs
Toutes les vérifications et les changements détectés sont enregistrés dans une table de logs de la base de données.
Assurez-vous de comprendre comment fonctionne le script et d'adapter les paramètres en fonction de vos besoins avant de l'exécuter dans un environnement de production.