python获取Linux信息

发布时间:2019-09-17 07:46:55编辑:auto阅读(1783)

      刚开始学习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测试结果

    wKiom1RkyAjh-2mzAAEfRH2VJAg771.jpg


    #centos测试结果

    wKiom1RkyCqgWORxAAEa3IyFCNA878.jpg


关键字