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上新建虚拟机上连不了外网阿。有待解决。
暂时就这样,以后每周小结一下。