python檢測系統基礎資訊樣本

來源:互聯網
上載者:User

標籤:python擷取系統資訊樣本   psutil   

指令碼樣本

#!/usr/bin/env python  # -*- coding:utf-8 -*-import psutil  import timeimport datetimeimport sys  import osimport socketimport uuidimport platform def get_baseinfo():        Nowtime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')        Macs = uuid.UUID(int = uuid.getnode()).hex[-12:]        Mac = ":".join([Macs[e:e+2] for e in range(0,11,2)])#       mac=os.popen("/usr/sbin/ip a|grep ether|awk -F ' ' '{print $2}'").read()#       ipaddr=os.popen("/usr/sbin/ip a|grep eno|grep inet|awk -F ' ' '{print $2}'|awk -F '/' '{print $1}'").read()        Hostname=socket.getfqdn(socket.gethostname())        IPaddr=socket.gethostbyname(Hostname)        Boot_Start = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(psutil.boot_time()))        print('---------------基礎資訊------------------')        print('目前時間:%s' % Nowtime)        print('主機網域名稱:%s' % Hostname)        print('IP地址:%s' % IPaddr)        print('MAC地址:%s' % Mac)        print('啟動時間:%s' % Boot_Start)        print('-----------------------------------------')def get_platinfo():        print('---------------系統資訊-------------------')        print('計算類型 :%s ' % platform.machine())        print('主機名稱 :%s ' % platform.node())        print('作業系統類型 :%s ' % platform.system())        print('作業系統名稱及版本號碼 :%s ' % platform.platform())        print('------------------------------------------')def get_cpuinfo():        Cpu_count=psutil.cpu_count()        Cpu_usage=psutil.cpu_percent()        Cpu_type=os.popen("cat /proc/cpuinfo | grep name |uniq -c| cut -f2 -d:").read()        print('-----------------CPU資訊------------------')        print('CPU核心數:%s 核' % Cpu_count )        print('當前CPU使用率: %s%s ' % (Cpu_usage,"%"))        print('CPU型號: %s' % Cpu_type)        print('------------------------------------------')def get_meminfo():        Mem_total=int(psutil.virtual_memory().total/(1024*1024))        Mem_free=int(psutil.virtual_memory().free/(1024*1024))        Mem_percent=psutil.virtual_memory().percent        Swap_total=int(psutil.swap_memory().total/(1024*1024))        Swap_percent=psutil.swap_memory().percent        print('-----------------記憶體資訊------------------')        print('實體記憶體:%dM' % Mem_total)        print('空閑記憶體:%dM' % Mem_free)        print('記憶體使用量率:%s%s' % (Mem_percent,"%"))        print('Swap記憶體:%dM' % Swap_total)        print('Swap使用率:%s%s' % (Swap_percent,"%"))        print('-------------------------------------------')def get_diskinfo():#    for i in psutil.disk_partitions():#        print "盤符: %s  掛載點: %s  總空間:%dM  剩餘空間:%dM 使用率: %s%s" % (i[0],i[1],psutil.disk_usage(i[1])[0]/(1024*1024),psutil.disk_usage(i[1])[2]/(1024*1024),psutil.disk_usage(i[1])[3],"%")    print('----------------磁碟資訊-------------------')    num=int(len(psutil.disk_partitions()))    for j in range(0,num):        device=psutil.disk_partitions()[j].device        mountpoint=psutil.disk_partitions()[j].mountpoint        total=psutil.disk_usage(mountpoint).total/(1024*1024)        free=psutil.disk_usage(mountpoint).free/(1024*1024)        percent=psutil.disk_usage(mountpoint).percent        print "盤符: %s  掛載點: %s  總空間:%dM  剩餘空間:%dM 使用率: %s%s" % (device,mountpoint,total,free,percent,"%")    print('-------------------------------------------')def get_netinfo():        Net_sent = psutil.net_io_counters().bytes_sent          Net_recv = psutil.net_io_counters().bytes_recv          Net_spkg = psutil.net_io_counters().packets_sent          Net_rpkg = psutil.net_io_counters().packets_recv          print('----------------網路資訊-------------------')        print('發送:%d Byte    發送包數:%d 個' % (Net_sent,Net_spkg))        print('接收:%d Byte    接收包數:%d 個' % (Net_recv,Net_rpkg))        print('-------------------------------------------')if __name__ == "__main__":                get_baseinfo()                get_platinfo()                get_cpuinfo()                get_meminfo()                get_diskinfo()                get_netinfo()

python test.py

輸出結果:

---------------基礎資訊------------------

目前時間:2018-05-09 18:23:58

主機網域名稱:www.linuxtest01.com

IP地址:192.168.1.16

MAC地址:00:59:06:b0:55:62

啟動時間:2017-02-12 7:23:50

-----------------------------------------

---------------系統資訊-------------------

計算類型 :x86_64 

主機名稱 :linuxtest01

作業系統類型 :Linux 

作業系統名稱及版本號碼 :Linux-3.10.0-327.el7.x86_64-x86_64-with-redhat-7.2-Maipo 

------------------------------------------

-----------------CPU資訊------------------

CPU核心數:4 核

當前CPU使用率: 27.8% 

CPU型號:  Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz


------------------------------------------

-----------------記憶體資訊------------------

實體記憶體:7823M

空閑記憶體:1549M

記憶體使用量率:49.4%

Swap記憶體:4095M

Swap使用率:17.6%

-------------------------------------------

----------------磁碟資訊-------------------

盤符: /dev/mapper/  掛載點: /  總空間:97752M  剩餘空間:47922M 使用率: 51.0%

盤符: /dev/sda1  掛載點: /boot  總空間:496M  剩餘空間:340M 使用率: 31.5%

-------------------------------------------

----------------網路資訊-------------------

發送:165857977619 Byte         發送包數:718789512 個

接收:688809440896 Byte    接收包數:784210872 個

-------------------------------------------

指令碼僅供參考



python檢測系統基礎資訊樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.