[comptes_inactifs] Adaptation au nouveau timestamp
This commit is contained in:
parent
98d347ccc1
commit
9447287a7a
1 changed files with 9 additions and 15 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue