11.8小结

来源:互联网 发布:php基础知识点 编辑:程序博客网 时间:2024/05/29 09:25

1. 关于python写的代码

  1 #!/usr/bin/python  2   3 import urllib2  4 import re  5 import xml.dom.minidom  6 import xml.etree.ElementTree as ET  7 import psutil  8   9 #xml = 'http://10.4.1.160/System/CMStem.php?username=rasilient&password=teniliasr' 10 req = urllib2.Request('http://10.4.1.160/System/CMSystem.php?username=rasilient&password=tneilisar') 11 response = urllib2.urlopen(req) 12 page = response.read() 13  14 root = ET.fromstring(page) 15  16 f = open('storageinfo', 'w') 17  18 f.write("<Performance>\n") 19 f.write("   <cpu>\n") 20 cpu_percent = psutil.cpu_times_percent(interval=0.1) 21 tmp = str(cpu_percent).split(",") 22 for line in tmp: 23   if re.search("user", line): 24     user = line.split("=")[1].strip() 25   if re.search("system", line): 26     system = line.split("=")[1].strip() 27   if re.search("idle", line): 28     idle = line.split("=")[1].strip() 29 f.write("       <us>%s</us>\n" % user) 30 f.write("       <sy>%s</sy>\n" % system) 31 f.write("       <id>%s</id>\n" % idle) 32 f.write("   </cpu>\n") 33 f.write("   <mem>\n") 34 virtual_memory = psutil.virtual_memory() 35 tmp = str(virtual_memory).split(",") 36 for line in tmp: 37   if re.search("buffer", line): 38     buffer = line.split("=")[1].strip() 39   if re.search("used", line): 40     used = line.split("=")[1].strip()#!/usr/bin/pythonimport urllib2import reimport xml.dom.minidomimport xml.etree.ElementTree as ETimport psutil#xml = 'http://10.4.1.160/System/CMStem.php?username=rasilient&password=teniliasr'req = urllib2.Request('http://10.4.1.160/System/CMSystem.php?username=rasilient&password=tneilisar')response = urllib2.urlopen(req)page = response.read()root = ET.fromstring(page)f = open('storageinfo', 'w')f.write("<Performance>\n")f.write("   <cpu>\n")cpu_percent = psutil.cpu_times_percent(interval=0.1)tmp = str(cpu_percent).split(",")for line in tmp:  if re.search("user", line):    user = line.split("=")[1].strip()  if re.search("system", line):    system = line.split("=")[1].strip()  if re.search("idle", line):    idle = line.split("=")[1].strip()f.write("       <us>%s</us>\n" % user)f.write("       <sy>%s</sy>\n" % system)f.write("       <id>%s</id>\n" % idle)f.write("   </cpu>\n")f.write("   <mem>\n")virtual_memory = psutil.virtual_memory()tmp = str(virtual_memory).split(",")for line in tmp:  if re.search("buffer", line):    buffer = line.split("=")[1].strip()  if re.search("used", line):    used = line.split("=")[1].strip()  if re.search("free", line):    free = line.split("=")[1].strip()  if re.search("cached", line):    cached_tmp = line.split("=")[1].strip()    cached = cached_tmp.split(")")[0]f.write("       <used>%s</used>\n" % used)f.write("       <free>%s</free>\n" % free)f.write("       <buffers>%s</buffers>\n" % buffer)f.write("       <cached>%s</cached>\n" % cached)f.write("   </mem>\n")f.write("<phydrv>\n")#for i in range(12):#   f.write("   <slotnum>%s</slotnum>\n" % i)#   f.write("   <model>%s</model>\n" % root.findall("./chassis/slot/model")[i].text)#   f.write("   <size>%s</size>\n" % root.findall("./chassis/slot/size")[i].text)slots = root.findall("./chassis/slot")for slot in slots:    f.write("   <slotnum>%s</slotnum>\n" % slot.attrib['num'].strip())    f.write("   <model>%s</model>\n" % slot.find("model").text)f.write("</phydrv>\n")f.write("<Raid>\n")diskgroup = root.findall("diskgroup")for dg in diskgroup:  f.write(" <name>%s</name>\n" % dg.find("name").text)  f.write(" <status>%s</status>\n" % dg.find("status").text)  f.write(" <disknum>%s</disknum>\n" % dg.find("disknum").text)  f.write(" <raidlevel>%s</raidlevel>\n" % dg.find("disknum").text)f.write("</Raid>\n")f.write("<Cooling>\n")f.write("   <chassis>\n")f.write("       <ps0_FAN>%s</ps0_FAN>\n" % root.find("./c0_info/chassis/ps0_FAN").text)f.write("       <ps1_FAN>%s</ps1_FAN>\n" % root.find("./c0_info/chassis/ps1_FAN").text)f.write("   </chassis>\n")f.write("</Cooling>\n")f.write("<power>\n")f.write("   <chassis>\n")f.write("   </chassis>\n")f.write("</power>\n")f.write("</Performance>\n")#slots = root.findall("./chassis/slot")#for slot in slots:#   print slot.attrib['num'].strip()#   print slot.find("model").text#   print slot.find("size").text
主要用于提取网页XML里内容,不是很完善,暂时能满足客户需求,需要改进的地方有出错处理和结构设计,函数应该都封装。

http://docs.python.org/2/library/index.html python还是有必要好好学一下,不能只为应付工作。

PYTHON库下载完tar包后解压完,进入目录执行python setup.py install.

2. 双控有10-G网卡,初始化时defaultIP读写错误

/home/walter/code/rasilient/base/RASOS/diskarray/local/etc/init.d/cfgsys(rc.da rc.sysinit) 

系统启动时根据niconf-0/niconf-1去写defaultip,这两个文件已经修改,但是测试发现没有写上去。在最新的KDI测试后发现能写上,所以把BUG给fix了。

纠结了好久的BUG7177

3. 关于ftp

1、检测是否安装了FTP:[root@localhost ~]# rpm -q vsftpd 


如果安装了会显示版本信息:

[root@localhost ~]# vsftpd-2.0.5-16.el5_5.1 

  否则显示:[root@localhost ~]# package vsftpd is not installed 

  2、如果没安装FTP,运行yum install vsftpd命令 

  具体的细节如下:(如果无法更新,你先配置能访问互联网,我有文档叫 CentOS 在 VMware下,如何联网到Internet的解决办法 可以解决无法上网的问题

  [root@localhost ~]# yum install vsftpd 


target上新建虚拟机上连不了外网阿。有待解决。


暂时就这样,以后每周小结一下。