From 9447287a7a9b065d4554fc8b9cee58a92024893c Mon Sep 17 00:00:00 2001 From: Lucas Serrano Date: Fri, 21 Jun 2013 15:08:26 +0200 Subject: [PATCH] [comptes_inactifs] Adaptation au nouveau timestamp --- surveillance/comptes_inactifs.py | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/surveillance/comptes_inactifs.py b/surveillance/comptes_inactifs.py index e55832b9..8441a4c2 100755 --- a/surveillance/comptes_inactifs.py +++ b/surveillance/comptes_inactifs.py @@ -35,8 +35,8 @@ from ldap_crans import crans_ldap from config import ann_scol db = crans_ldap() -from syslog import * -openlog('comptes_inactifs') +import syslog +syslog.openlog('comptes_inactifs') def nb_mails_non_lus(login): @@ -58,7 +58,7 @@ def nb_mails_non_lus(login): class ComptesInactifs(object): # liste d'expressions régulières qui seront testées sur les lignes de log # le premier groupe doit correspondre à la date, le second au login - re = [re.compile(r'^(\w+\s+\d+\s+\d+:\d+:\d+).*(?:' + compiled_regex = [re.compile(r'^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}).*(?:' r'dovecot.*Login: user=<|' r'sshd.*Accepted.*for ' r')([^ >]+).*$'), @@ -95,8 +95,8 @@ class ComptesInactifs(object): else: # on loggue on espérant que les logs seront réinjectés # plus tard - syslog("LDAP(lock): derniereConnexion=<%s>, login=<%s>" % - (strftime("%b %d %H:%M:%S", localtime(timestamp)), login)) + syslog.syslog("LDAP(lock): derniereConnexion=<%s>, login=<%s>" % + (strftime("%Y-%m-%dT%H:%M:%S", localtime(timestamp)), login)) return total def update(self, login, timestamp): @@ -117,18 +117,12 @@ class ComptesInactifs(object): now = time() + 600 nombre = 0 for line in loglines: - for r in self.re: + for r in self.compiled_regex: m = r.match(line) if m: break if not m: continue - date = list(strptime(m.group(1), "%b %d %H:%M:%S")) - date[0] = annee + date = list(strptime(m.group(1), "%Y-%m-%dT%H:%M:%S")) t = mktime(date) - # les lignes de syslog n'indiquent pas l'année - # on suppose qu'une date dans le futur est en fait l'année dernière - if t > now: - date[0] = annee - 1 - t = mktime(date) self.update(m.group(2).lower(), t) nombre += 1 return nombre @@ -139,8 +133,8 @@ class ComptesInactifs(object): """ parsed_lines = self.update_from_syslog(sys.stdin) updated_entries = self.commit_to_ldap() - syslog("%(parsed_lines)s ligne(s) traitée(s)" % locals()) - syslog("%(updated_entries)s entrée(s) mise(s) à jour dans la base LDAP" % locals()) + syslog.syslog("%(parsed_lines)s ligne(s) traitée(s)" % locals()) + syslog.syslog("%(updated_entries)s entrée(s) mise(s) à jour dans la base LDAP" % locals()) if parsed_lines == 0 or updated_entries == 0: sys.stderr.write("""Erreur lors de la mise à jour de la base LDAP : %(parsed_lines)s ligne(s) traitée(s)