python查看系统信息_Python获取系统信息的代码详解

import os,inspect,socket,time,pymysql

num = 0

class 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值