Surveiller automatiquement les changements dans des répertoires critiques est essentiel pour la sécurité et la maintenance. Avec inotify-tools, vous pouvez détecter en temps réel la création, suppression ou modification de fichiers et déclencher des alertes email. Alternativement, découvrez comment utiliser les path units systemd pour une approche native.
Prérequis
- Serveur Linux (Debian, Ubuntu, RHEL, CentOS)
- inotify-tools installé
- Un agent mail configuré (postfix, msmtp, etc.)
Installation d’inotify-tools
sudo apt update
sudo apt install inotify-tools -y
Script de surveillance
Créez un script bash watch_and_alert.sh :
#!/bin/bash
# Répertoire à surveiller
WATCH_DIR="/path/to/directory"
# Email de notification
ALERT_EMAIL="admin@example.com"
inotifywait -m -r -e create,modify,delete "$WATCH_DIR" --format '%T %w %f %e' --timefmt '%F %T' | while read TIMESTAMP DIR FILE EVENT; do
echo -e "Sujet: Alerte inotify\n\nFichier: $DIR$FILE\nÉvénement: $EVENT\nDate: $TIMESTAMP" | mail -s "Alerte inotify: $FILE $EVENT" "$ALERT_EMAIL"
done
Rendez-le exécutable :
chmod +x watch_and_alert.sh
Exécution en arrière-plan
Utilisez screen, tmux ou un service systemd :
Exemple service systemd :
Pour créer des services systemd personnalisés, créez /etc/systemd/system/inotify-alert.service :
[Unit]
Description=Surveillance inotify avec alertes email
[Service]
ExecStart=/usr/local/bin/watch_and_alert.sh
Restart=always
[Install]
WantedBy=multi-user.target
Activez et démarrez :
sudo systemctl daemon-reload
sudo systemctl enable --now inotify-alert.service
Tests
Ajoutez, modifiez ou supprimez un fichier dans le répertoire surveillé et vérifiez la réception de l’email.
Conclusion
Grâce à inotify-tools et un simple script bash, vous pouvez automatiser la surveillance de fichiers et recevoir des alertes instantanées, améliorant la réactivité et la sécurité de votre infrastructure.


