您的位置:首页 > 运维架构 > Linux

python获取Linux信息

2014-11-13 23:05 176 查看
刚开始学习Python,用Python写了一个获取Linux服务器信息的脚本,在debian和centos上测试通过。首先需要安装一个psutil库,在安装psutil之前需要安装python的开发工具包

#debian apt-get install python-dev
#centos yum install python-devel

psutil下载页面

https://pypi.python.org/pypi?:action=display&name=psutil#downloads

#install psutil

tar xzvf psutil-2.1.3.tar.gz
cd psutil-2.1.3/
python setup.py install

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import platform
import os
import psutil
import datetime

def get_platform():
'''获取操作系统类型'''
return platform.system()

def get_version():
'''获取操作系统版本'''
return platform.linux_distribution()

def get_architecture():
'''获取操作系统位数'''
return platform.architecture()

def get_node():
'''获取主机名'''
return platform.node()

def get_processor():
'''获取物理CPU个数'''
return psutil.cpu_count(logical=False)

def get_cores():
'''获取逻辑CPU个数'''
return psutil.cpu_count()

def get_boot_time():
'''获取开机时间'''
return datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")

def get_disk_root():
'''获取根分区磁盘空间'''
return psutil.disk_usage('/')

def get_ip():
'''获取ip地址'''
IP = os.popen("ip add list |grep global |awk -F[/' '] '{print $6}'").readlines()
getip = IP[0]
return getip.strip('\n')

def get_mem_total():
'''获取内存容量'''
return psutil.virtual_memory()[0]/1024/1024

def get_mem_free():
'''获取可用内存大小'''
return psutil.virtual_memory()[4]/1024/1024

print '操作系统类型:',get_platform()
print '操作系统分支:',get_version()[0]
print '操作系统版本:',get_version()[1]
print '操作系统位数:',get_architecture()[0]
print '主机名:',get_node()
print 'IP地址:',get_ip()
print '物理CPU个数:',get_processor()
print '逻辑CPU个数:',get_cores()
print '开机时间:',get_boot_time()
print '根分区可用空间(单位为MB):',get_disk_root()[2]/1024/1024
print '内存总量(单位为MB):',get_mem_total()
print '可用内存大小(单位为MB):',get_mem_free()

#debian测试结果




#centos测试结果


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux python