Salut,
Avez vous des exemple, qu'un script qui sera exécuté par une cron, soit capable de lire un fichier .log avec une condition, si il trouve une ligne avec par exemple "erreur abc123" alors il exécute un commande bash ou shell.
Merci pour votre aide
Oui, j'en ai un sur mon raspberry pour domoticz. J'ai régulièrement des plantages de domoticz avec une erreur 11.
J'ai un script qui lit les logs et relance le service dès qu'il la detecte.
Je récupère ça et te le file. Tu pourras l'adapter.
Nebukad Merci a toi, j'ai le même problème mdr !
Tu peux carrément créer un service, genre :
tail -fn 0 /var/log/domoticz.log | while read line; do if [[ "$line" =~ "Error 11" ]]; then echo "Restart service" fi done
Le voici : script
A adapter
#!/bin/bash string="erreur abc123" file="/var/log/fichier.log" tail -n 0 -F $file | \ while read LINE do echo "$LINE" | grep -q $string if [ $? = 0 ] then #echo -e "Anomalie $string trouvée dans $file sur $HOSTNAME" | mail -s "Anomalie sur $(hostname)" email@mail.com && service le_service restart fi done
https://www.linuxquestions.org/questions/linux-newbie-8/bash-script-to-continuously-read-log-file-4175475039/
Merci a vous ! 😃 j'ai de quoi faire mon choix 😃
Prends celui de @xataz et @spider1163 le miens est plus crade 😉
Nebukad non, il est adapté a ton besoin !
Nebukad En faite celui de @spider1163 et le mien font exactement la même chose, celui de @spider1163 est juste plus propre. Ca montre d'ailleurs qu'il n'y a pas de scripts parfait, on peux arriver à faire ce qu'on veux de plusieurs manière. D'ailleurs je te pique ta partie pour telegram, c'est pas mal pour les notifs