From 8b0ce5169bac24a8f35ecbf47f7b6632d255b22e Mon Sep 17 00:00:00 2001 From: glondu Date: Fri, 3 Mar 2006 04:15:38 +0100 Subject: [PATCH] Vrifie que les machines sont bien jour. C'est cronn dans /etc/cron.d/check_cfengine tous les jours 04h08. Pourquoi pas dans cron.daily ? a prend du temps et a peut planter, et je ne sais pas si tous les scripts de cron.daily sont excuts simultanment ou les uns la suite des autres. darcs-hash:20060303031538-68412-89bf61dfca159a07a9f3820b98912402f4dddcff.gz --- gestion/tools/check_cfengine.py | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 gestion/tools/check_cfengine.py 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)