#!/usr/bin/env python
# -*- coding:utf-8 -*-
import psutil
import time
import datetime
import sys
import os
import socket
import uuid
import 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 个
-------------------------------------------
脚本仅供参考
原文地址:http://blog.51cto.com/superleedo/2114550