Recherche chaine de caractère dans log et lancement action

Bonjour,

certains ont-ils dejà essayé de faire une recherche de chaine de caractère dans un fichier de log et en focntion du resultat, lancer une action.
la recherche doit se faire sur les nouvelles lignes du fichier (depuis le dernier lancement) et doit gerer le fait que le fichier de log repart à 0 (suppression des logs)

Norbert

Salut,

Tu as un exemple de cas d’usage ?
Tu veux obligatoirement faire ça via jeedom ou via linux (avec si besoin d’un renvoi d’état vers jeedom) serait suffisant ?

Plutôt via.jeedom, scénario bloc code PHP si possible

Ca doit être faisable en stockant dans une variable un « témoin » de la dernière lecture du fichier pour savoir où reprendre.
Mais ça dépend aussi de la volumétrie du fichier, si c’est vraiment très lourd, pas sur que ce soir une bonne idée de faire comme ça.

Bref je maintiens ma question initiale, tu as un exemple de cas d’usage ? :wink:

Oui, un message d’erreur dans les logs pour relance du démon

Pourquoi ne pas faire un scénario avec cron qui va juste checker ton daemon et le relancer ?

Bonsoir à tous,

Pour ceux que ca interesse, un petit template de scenario qui permet de faire une recherche dans les fichiers de log Jeedom (ou sur n’importe quel fichier du serveur).

Il doit être lancé régulièrement et ne fait une recherche QUE SUR LES NOUVELLES LIGNES DU FICHIERS par rapport au dernier lancement (idée d’@aurel, la dernière position de lecture est stockée dans une variable)

Il prend en entrée les chemin, nom de fichier et chaine à rechercher et permet d’exécuter n’importe quelle action/notification/commande jeedom en sortie

(Le code PHP a été réalisé en grande partie avec chatGPT)

Voilà, c’est assez basique mais ca me manquait, je partage donc.

Le template (à renommer en supprimant le .txt ) :
recherche log.json.txt (16,4 Ko)

Norbert

2 « J'aime »

Salut @ngrataloup

Très bonne idée → Merci pour le partage :+1:

@+

1 « J'aime »