#!/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"})