Python获取系统信息的代码,python获取系统信息,import os,in
文章由Byrx.net分享于2019-03-23 05:03:51
Python获取系统信息的代码,python获取系统信息,import os,in
import os,inspect,socket,time,pymysqlnum = 0class Mysql: def __init__(self,host,user,password,db): self.cnn = pymysql.connect(host=host,user=user, passwd=password, db=db, charset='utf8') self.cur= self.cnn.cursor() def run(self,sql): self.cur.execute(sql) def cmd(self,sql): self.cur.execute(sql) return self.cur.fetchall() def commit(self): self.cnn.commit() def close(self): self.cur.close() self.cnn.close()class mon: def __init__(self): self.db_file='./db.json' self.data={} def getAmber(self): global num num+=1 return num def getDate(self): return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) def getProcess(self): return os.popen('ps -ef |wc -l').readlines()[0].split()[0] def getDisk(self): return os.popen("df -m |grep '/$'").readlines()[0].split() def getMem(self): return os.popen('free -m').readlines()[1].split()[1:4] def getSwap(self): return os.popen('free -m').readlines()[3].split()[1:] def getLoad(self): return os.popen('uptime').readlines()[0].split()[-3:] def getHost(self): return socket.gethostname() def getUser(self): return os.popen('uptime').readlines()[0].split()[3] def getRuntime(self): return os.popen('uptime').readlines()[0].split()[2] def getSystem(self): return os.popen('cat /etc/redhat-release').readlines()[0].split('\n')[0] def getKerner(self): return os.popen('uname -r').readlines()[0].split('\n')[0] def run(self): for fun in inspect.getmembers(self,predicate=inspect.ismethod): if fun[0][:3] == 'get': #print fun[1]() self.data[fun[0][3:]] = fun[1]() #print self.data return self.data #file(self.db_file,'a').write("%s\n" % self.data) time.sleep(15)if __name__ == "__main__": mysql=Mysql('192.168.0.58','root','123456','host') while 1: res= mon().run() memTotal=int(res['Mem'][0]) diskTotal=int(res['Disk'][0]) memFree=int(res['Mem'][2]) diskFree=int(res['Disk'][2]) cpuPercent=int(res['Process']) ip=os.popen("ifconfig |grep 'Bcast' |awk -F: '{print $2}'").readlines()[0].split()[0] print('-------------------',ip) ress=mysql.cmd('select * from hostinfo where ip="%s"'%ip) ress=list(ress[0]) for i in ress[3:]: lists=eval(i) print(lists) lists['data'].pop(0) lists['data'].append(eval(lists['name'])) sqls='update hostinfo set %s = "%s" where ip="%s"'%(str(lists['name']),lists,ip) mysql.cmd(sqls) mysql.commit() print('------------------------------------------------') time.sleep(30)
相关内容
- # 根据比例求角度,,from math im
- python邮件发送,,None
- python使用sqlite3的简单代码,pythonsqlite3代码,#Filename: D
- Python使用剪切板代码,python剪切代码,此段代码可以利用
- python ftplib模块制作ftp客户端,pythonftplib,#!/usr/bin/p
- python验证文件是否可读可写,python验证文件可读,# Imp
- 九九乘法表,乘法,# 9*9for i i
- Python有道字典,python有道,None
- python 学习,使用类模拟购物车代码,python购物车,clas
- 配置文件备份,,None
评论关闭