From d04d51a2c3c061727e4fd1480dc127a7cee95ab4 Mon Sep 17 00:00:00 2001 From: Lucas Serrano Date: Tue, 5 Nov 2013 01:23:11 +0100 Subject: [PATCH] [printer_watch] script d'envoi de mail lorsque l'imprimante est down --- impression/printer_watch.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 impression/printer_watch.py diff --git a/impression/printer_watch.py b/impression/printer_watch.py new file mode 100755 index 00000000..47a4a4e8 --- /dev/null +++ b/impression/printer_watch.py @@ -0,0 +1,18 @@ +#!/bin/bash /usr/scripts/python.sh +# -*- coding: utf-8 -*- + +import netsnmp +import sys +from utils import sendmail + +# On checke le statut de l'imprimante, si elle est down (5) on envoie des mails. +status_id = netsnmp.Varbind("hrDeviceStatus.1") +if netsnmp.snmpget(status_id, Version=1, DestHost="imprimante.adm", Community="public") == ('5',): + # On récolte la liste des erreurs dans cette branche + errors = netsnmp.snmpwalk(netsnmp.Varbind("mib-2.43.18.1.1.8.1"), Version=1, DestHost="imprimante.adm", Community="public") + errors_list = [error + '\n' for error in errors] + + msg = """ L'imprimante est actuellement hors service. Les erreurs suivantes se sont produites: + %s""" % ''.join(errors_list) + + sendmail.sendmail(u"imprimante.adm@crans.org", u"impression@lists.crans.org", u"Imprimante hors service", msg)