#!/usr/bin/env python2.4 #-*- coding: utf-8 -*- # Librerías import os import time import shutil import commands # Obtiene la configuracion from src.etcbin.pinger import * # Para siempre exit=False while (not exit): try: # Borro el fichero temporal si existe try: FILE=open(file_temp,"r") FILE.close() os.unlink(file_temp) except Exception: pass # Abro el fichero temporal FILE=open(file_temp,"w") abierto=True # Realizo la prueba for ip in ips: # Lanzo el comando output = commands.getoutput("ping %s -c %s" % (ip,pings)) # Filtro el resultado lista=output.split("\n") # Compruebo el resultado de la salida if (len(lista)<2): # Si el resultado obtenido no me agrada, me salto la IP break # Recojo el resultado de la primera fase result1=lista[-2].split(" ") paquetes_enviados=int(result1[0]) paquetes_recibidos=int(result1[3]) if (result1[6][:-1]=="errors"): paquetes_errores=int(result1[5]) paquetes_perdidos=int(result1[7][:-1]) else: paquetes_errores=0 paquetes_perdidos=int(result1[5][:-1]) if (paquetes_recibidos>0): # Recojo el resultado de la segunda false result2=lista[-1].split(" ")[3].split("/") rtt_min=float(result2[0]) rtt_avg=float(result2[1]) rtt_max=float(result2[2]) rtt_mdev=float(result2[3]) hay_ping=1 else: rtt_min="x" rtt_avg="x" rtt_max="x" rtt_mdev="x" hay_ping=0 # Muestro los resultados FILE.write("%s %s %s %s %s %s %s %s %s\n" % (ip,hay_ping,paquetes_enviados,paquetes_recibidos,paquetes_perdidos,rtt_min,rtt_avg,rtt_max,rtt_mdev)) # Cierro el fichero temporal FILE.close() # Copio el fichero shutil.copy(file_temp,file_fin) # Borro el temporal os.unlink(file_temp) # Duermo un tiempo time.sleep(espera) except KeyboardInterrupt: # Anoto que deseamos salir exit=True # Borro el fichero temporal si existe try: FILE=open(file_temp,"r") FILE.close() os.unlink(file_temp) except Exception: pass