Advertisement
Guest User

1234567890

a guest
Jul 23rd, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.76 KB | None | 0 0
  1. import subprocess
  2. import time
  3. import os
  4.  
  5. class point:
  6.     def __init__(self, ip = ' ', info = ' '):
  7.         self.ip = ip
  8.         self.info = info
  9.         self.status = 'Down'
  10.         self.upd_time = time.localtime()
  11.         self.upd_day = self.upd_time.tm_mday
  12.         self.upd_hour = self.upd_time.tm_hour
  13.         self.upd_min = self.upd_time.tm_min
  14.         self.upd_status = self.status
  15.  
  16.     def uptime(self):
  17.         self.upd_time = time.localtime()
  18.         if self.upd_status != self.status:
  19.             self.upd_day = self.upd_time.tm_mday
  20.             self.upd_hour = self.upd_time.tm_hour
  21.             self.upd_min = self.upd_time.tm_min
  22.         self.upd_status = self.status
  23.         d = self.upd_time.tm_mday - self.upd_day
  24.         h = self.upd_time.tm_hour - self.upd_hour
  25.         m = self.upd_time.tm_min - self.upd_min
  26.         return d, h, m
  27.  
  28.     def ping(self):
  29.         ping_host = subprocess.Popen('ping ' + self.ip + ' -c 1', shell = True, stdout = subprocess.PIPE)
  30.         ping_resault = str(ping_host.stdout.read())
  31.         i = int(ping_resault.find('received')) - 2
  32.         if ping_resault[i] != 0:
  33.             self.status = 'Up'
  34.         return self.status
  35.  
  36.     def show_point(self):
  37.         t = self.uptime()
  38.         print(self.ip.ljust(18), self.ping().ljust(5),
  39.               '{0} day {1} hour {2} min'.format(t[0], t[1], t[2]).ljust(20), self.info)
  40.  
  41. exit = False
  42. monitoring_points = []
  43. set_points = open('set_points', 'r')
  44. for line in set_points:
  45.     set_point = line.split('/')
  46.     monitoring_points.append(point(set_point[0], set_point[1]))
  47.  
  48. while exit == False:
  49.     for i in range(len(monitoring_points)):
  50.         monitoring_points[i].ping()
  51.         monitoring_points[i].show_point()
  52.  
  53.  
  54.     time.sleep(10)
  55.     os.system('clear')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement