Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 03/09/2017, à 10:26

klintiswood

Detection error ou chaine de caractère dans terminal

Bonjour à tous,

J'ai une machine tournant sous Ubuntu 16.04 qui doit tourner 24h/24 et j'aimerais savoir si il est possible de détecter l'affichage d'une erreur ou d'une chaine de caractères dans une fenêtre type terminal et quand cette erreur est détectée, faire rebooter la machine.
Dois-je créer une tache cron qui vérifie le contenu de la fenêtre toutes les x minutes ? Et si oui, avec quel language puis-je détecter le contenu d'une fenêtre de terminal?

Je ne suis pas un expert linux mais j'ai des bases de programmation.

Merci!
Laurent

Hors ligne

#2 Le 03/09/2017, à 10:48

kholo

Re : Detection error ou chaine de caractère dans terminal

salut,
sur cette page, un des scripts tail un fichier texte :

#!/bin/bash
#*************************************#
# NOM : 		
# FONCTION :	
# VERSION="alpha"
# NOTES DE VERSIONS
#
#*************************************#
# echo "parser-ecoute -----------------" 
file="reconnaissances.txt"

	tail -f -n 1 $file | while read line;do
	   ./traite-parseur "$line"
	done
exit 0

en pointant file sur un fichier log
$line est une ligne du journal que tu peux parser

Hors ligne

#3 Le 03/09/2017, à 16:40

klintiswood

Re : Detection error ou chaine de caractère dans terminal

Ah super intéressant ça.
On doit tout le temps passer par un fichier ou on peut lire une fenêtre directement?

Je vais essayer ceci pour déjà récupérer les cas d'erreur dans mes logs:

tail -f -n 10 '/var/log/syslog' | while read line;do

echo $line

case $line in
*error*) echo "Error";;
*)  echo "rien trouvé";;
esac
    
done

Hors ligne