#!/usr/bin/env python # coding=utf-8 # /usr/bin/curl -s https://internal.up-gram.com/shell/update-salt-minon.py|python # nohup curl -s https://internal.up-gram.com/shell/update-salt-minon.py|python >/dev/null 2>&1 & import os import shlex import xml.dom.minidom as xmldom #通过minidom解析xml文件 def bash(cmd): """ 执行执行bash命令 """ return shlex.os.system(cmd) def xmltools(filename): """ 解析xml 提取serverid """ xmlfilepath = os.path.abspath(filename) domobj = xmldom.parse(xmlfilepath) # 得到文档对象 elementobj = domobj.documentElement # 得到元素对象 subElementObj = elementobj.getElementsByTagName("server") # 获得子标签 # 获得标签属性值 site = subElementObj[0].getAttribute("site") # site="4" subsite="11" node="1" subsite=subElementObj[0].getAttribute("subsite") node=subElementObj[0].getAttribute("node") serverid = "{0}.{1}.{2}".format(site,subsite,node) return serverid if __name__ == '__main__': xml = xmltools("/etc/dingtone/xedge-config.xml") cmd = "curl -s https://internal.up-gram.com/shell/salt-minion.sh |bash -s {}".format(xml) bash(cmd) print("install: ",xml)