scripts/impression/printer_watch.py
2013-11-05 17:00:14 +01:00

18 lines
905 B
Python
Executable file

#!/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, more_headers={"X-Mailer": "/usr/scripts/impression/printer_watch.py"})