您的位置:首页 > 其它

11.8小结

2013-11-08 17:12 120 查看
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/python

import urllib2
import re
import xml.dom.minidom
import xml.etree.ElementTree as ET
import 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上新建虚拟机上连不了外网阿。有待解决。

暂时就这样,以后每周小结一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: