diff --git a/gestion/tools/check_cfengine.py b/gestion/tools/check_cfengine.py new file mode 100755 index 00000000..a7475d0b --- /dev/null +++ b/gestion/tools/check_cfengine.py @@ -0,0 +1,39 @@ +#! /usr/bin/env python +# -*- coding: iso-8859-15 -*- + +# Vérification de l'état de cfengine + +import sys, os +sys.path.append("/usr/scripts/gestion") +from email_tools import send_email + +def parse(fichier): + resultat = "" + accu = "" + nb_lignes = 0 + + for ligne in fichier.readlines(): + if ligne.find("Hailing") != -1: + # On commence un nouveau serveur + if accu != "" and nb_lignes != 7: + # Qqch d'anormal s'est passé + resultat += accu + accu = ligne + nb_lignes = 1 + else: + accu += ligne + nb_lignes += 1 + + # Le dernier + if accu != "" and nb_lignes != 7: + resultat += accu + + return resultat + + +if __name__ == "__main__": + message = parse(os.popen("/usr/sbin/cfrun -- -n")).decode("ISO-8859-15") + if message: + message += u"-- \nGénéré par check_cfengine.py\n" + send_email("CFEngine (Vert)", "roots@crans.org", \ + u"Machines non synchronisées", message)