Controllare lo stato dei dischi via python

Uno script per controllare lo stato dei dischi, quando viene trovato un disco oltre la soglia di allerta viene inviata una mail all’indirizzo specificato con i dischi troppo pieni.

#!/usr/bin/env python

import commands
import re
import smtplib

'''
CONFIGURARE QUI
'''
macchina="bscs@itxha309"
devices=[
  ["/mnt/path1", 95],
  ["/mnt/path2",98],
]
addrlist=['alessandro.lorenzi@myMail.com']
'''
Fine CONFIGURAZIONE
'''
dimensione = "([0-9])+%"
mail = ""
count = 0

for device in devices:
  devstat= os.statvfs(device[0])
  free =  int(devstat[3])  *100/  int(devstat[2])
  if int(100-free) >= int(device[1]):
    mail = mail + "%s\t%s \t%s\n" %(device[0], device[1], m.group(0))
    count+=1

if (count > 0):
  mail = "Devices quasi pieni:\n" + mail
  server = smtplib.SMTP('localhost')
  for toaddr in addrlist:
    print toaddr
    server.sendmail(macchina, toaddr, mail)
  server.quit()

 

Ovviamente si sposa bene con cron. Basta inserire lo script in crotab per farlo eseguire ogni minuto ed essere sempre informato dello stato dei propri dischi.

Annunci
Contrassegnato da tag , , , ,

5 thoughts on “Controllare lo stato dei dischi via python

  1. Gianni Vialetto ha detto:

    Si può usare anche in pure python usando os.statvfs(), senza bisogno di chiamare programmi esterni. Un pazzo potrebbe anche farlo in C usando 😛

  2. Gianni Vialetto ha detto:

    Mi ha tranciato il sys/statvfs.h, lol. Ed il primo “usare” era un “fare”

  3. Alessandro ha detto:

    Mh.. meglio non usarlo 😉

    Deprecated since version 2.6: The statvfs module has been deprecated for removal in Python 3.0.
    [ http://docs.python.org/library/statvfs.html ]

  4. Gianni Vialetto ha detto:

    Non parlavo del modulo statvfs… Ma di os.statvfs(), che è parte del modulo os [http://docs.python.org/py3k/library/os.html#os.statvfs], ed è documentato e disponibile in python 3.1 – tant’è che il mio link è proprio della documentazione di questa versione di python 😉

  5. Alessandro ha detto:

    Ciao Gianni,
    ho modificato lo script come suggerito, e sembra funzionare. Quando avró la partizione quasi piena vedremo che succede.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: