日历

2016年二月
« 12月   3月 »
1234567
891011121314
15161718192021
22232425262728
29  

最近评论

    linux企业应用

    通过VIProperty显示主机的HBA,SCSI的信息,并写入EXCEL的代码

    需要提前安装pysphere和XlsxWriter,安装方法,后期再补。

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

    #导入python未来支持的语言特征division(精确除法)
    from __future__ import division
    from pysphere import VIServer, MORTypes, VIProperty
    from pysphere.resources import VimService_services as VI
    import time
    import sys
    import time,datetime
    from decimal import *
    import threading
    #引入Exls模块
    import xlsxwriter
    #中午12点之前的是8:30的检查,否则是下午16:30的检查
    todayTime=datetime.datetime.now().strftime(‘%p’)
    #print datetime.datetime.now().strftime(‘%Y-%m-%d %H:%M:%S’)
    #print todayTime
    if todayTime == ‘AM’:
    checkTime= ‘0830’
    else:
    checkTime= ‘1630’
    #print checkTime

    todayDate= datetime.datetime.strftime(datetime.date.today(), ‘%Y%m%d’)
    #print todayDate

    excelName=’XXXXXX平台巡检’+todayDate+’-‘+checkTime+’.xlsx’
    #print excelName

    #创建EXCLE表格
    workbook=xlsxwriter.Workbook(excelName)

    #定义format格式对象,小数点后保存2位
    format=workbook.add_format({‘border’: 1,’align’: ‘center’,’valign’: ‘vcenter’})
    format.set_border(1)
    format.set_num_format(‘0.00’)
    #定义一个加粗的格式对象
    bold=workbook.add_format({‘bold’: 1,’border’: 1,’align’: ‘center’,’valign’: ‘vcenter’,’fg_color’: ‘yellow’})
    bold.set_border(1)
    #定义添加边框的格式对象format_border
    format_border=workbook.add_format({‘border’: 1,’align’: ‘center’,’valign’: ‘vcenter’})
    format_border.set_border(1)

    def get_clust_HBA_information(HOST, USER, PASSWORD,excel_Line,worksheet):
    excelLine=excel_Line+1
    server = […]

    linux企业应用

    通过VIProperty显示主机的HBA,SCSI的信息

    hostProperty = VIProperty(server, host)
    for path in hostProperty.configManager.storageSystem.storageDeviceInfo.plugStoreTopology.path:
    print ”  Path:”, path.name
    print ”    LUN:”, path.lunNumber
    print ”    Adapter:”, path.adapter
    print “”
    for lun  in hostProperty.configManager.storageSystem.storageDeviceInfo.scsiLun:
    print ”  LUN Name:”, lun.key
    print ”  LUN Type:”, lun.lunType
    print “”
    for adp  in hostProperty.configManager.storageSystem.storageDeviceInfo.scsiTopology.adapter:
    print ”  ADAPTER:”, adp.adapter
    if hasattr(adp, “target”):
    print ”  Connected targets:”, len(adp.target)
    else:
    print ”  Connected targets: 0″

    linux企业应用

    python datetime时间的格式处理

    # -*- coding: utf-8 -*-

    #datetime类
    #datetime是date与time的结合体,包括date与time的所有信息。
    #它的构造函数如下:
    #datetime. datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
    #各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

    # 1. datetime类定义的类属性与方法:
    #datetime.min、datetime.max:datetime所能表示的最小值与最大值;
    #print: datetime.max: 9999-12-31 23:59:59.999999
    #print: datetime.min: 0001-01-01 00:00:00
    from  datetime  import  *
    import time
    print   (‘datetime.max:’ +str(datetime.max ))
    print   (‘datetime.min:’ +str(datetime.min))
    #datetime.resolution:datetime最小单位;
    #print: datetime.resolution: 0:00:00.000001
    print   (‘datetime.resolution:’ + str(datetime.resolution ))
    #datetime.today():返回一个表示当前本地时间的datetime对象;
    #print: today(): 2012-09-12 19:37:50.721000
    print   (‘today():’ +str(datetime.today() ))
    #datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
    #print: now(): 2012-09-12 […]

    linux企业应用

    python发送带各种类型附件的邮件

    如何发送各种类型的附件。
    基本思路就是,使用MIMEMultipart来标示这个邮件是多个部分组成的,然后attach各个部分。如果是附件,则add_header加入附件的声明。
    在python中,MIME的这些对象的继承关系如下。
    MIMEBase
    |– MIMENonMultipart
    |– MIMEApplication
    |– MIMEAudio
    |– MIMEImage
    |– MIMEMessage
    |– MIMEText
    |– MIMEMultipart
    一般来说,不会用到MIMEBase,而是直接使用它的继承类。MIMEMultipart有attach方法,而MIMENonMultipart没有,只能被attach。
    MIME有很多种类型,这个略麻烦,如果附件是图片格式,我要用MIMEImage,如果是音频,要用MIMEAudio,如果是word、excel,我都不知道该用哪种MIME类型了,得上google去查。
    最懒的方法就是,不管什么类型的附件,都用MIMEApplication,MIMEApplication默认子类型是application/octet-stream。
    application/octet-stream表明“这是个二进制的文件,希望你们那边知道怎么处理”,然后客户端,比如qq邮箱,收到这个声明后,会根据文件扩展名来猜测。

    下面上代码。

    linux企业应用

    通过十条命令对机器性能问题进行诊断

    通过十条命令在一分钟内对机器性能问题进行诊断

    通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。

    uptime
    dmesg | tail
    vmstat 1
    mpstat -P ALL 1
    pidstat 1
    iostat -xz 1
    free -m
    sar -n DEV 1
    sar -n TCP,ETCP 1
    top

    其中一些命令需要安装sysstat包,有一些由procps包提供。这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,也就是所谓的USE方法。