使用xml和python集中控制linux的方法技术

技术编号:24681972 阅读:54 留言:0更新日期:2020-06-27 07:37
本发明专利技术提供一种使用xml和python集中控制linux的方法,包含以下步骤:(1)双击程序启动文件会执行命令启动程序,开始执行Python程序;(2)设置环境信息并检查配置文件,若配置文件缺失或者格式错误则退出程序;(3)加载配置文件获取信息;(4)执行终端;(5)执行控制Linux远程服务器。本发明专利技术建立了一个通用的Python控制端和XML控制模型,XML编写者不需要关注Python控制端程序逻辑也可快速根据模型编写配置,给服务器集群维护者提供了一个控制终端可在实际应用中快速上手。

Using XML and python to control Linux centrally

【技术实现步骤摘要】
使用xml和python集中控制linux的方法
本专利技术涉及Linux控制
,具体是使用xml和python集中控制linux的方法。
技术介绍
当前IT行业中云服务、大数据服务需要大量的底层计算机集群支持,在这些计算机集群中运行着大量流行的Linux服务器操作系统,而Linux只作为内核其拥有众多的发行版本如RedHat、Ubuntu、SUSE,这些发行版本往往环境各异。集中控制管理Linux服务器的方法有很多,采用何种通用易用的方案管理服务器是每个IT公司需要考虑的问题。很多IT公司开发消息机制来控制各服务器中的程序,在众多Linux服务器中建立一个消息服务,由各服务器中进驻的消息接收程序来接收命令执行预设的程序。该方法开发过程复杂,需要接入消息服务接口开发,一般的各消息接收程序还需要对命令进行回馈,机器管理者才会获知命令执行情况;建设成本高,需要建立单独的消息服务,需要提前在被控制服务器中部署消息接收程序;维护成本高,消息服务和消息接收程序需要保证实时网络通信;灵活度低,业务需求发展往往需要升级消息接收程序的执行机制,整个集群升级程序往往过程缓慢。
技术实现思路
本专利技术针对上述问题,提供了一种使用xml和python集中控制linux的方法,减少开发过程,以尽量少的代码、命令即可快速完成对整个计算机集群的管理;减少建设成本,去掉不必要的中心服务和被控制服务器中的服务程序部署;使减少维护成本,在不需要操作集群服务器时不用与之建立通信;灵活度高,在有新的业务需求时可快速建立新的控制功能。为达到上述目的,本专利技术采用以下技术方案:使用xml和python集中控制linux的方法,包含以下步骤:(1)双击程序启动文件会执行命令启动程序,开始执行Python程序;(2)设置环境信息并检查配置文件,若配置文件缺失或者格式错误则退出程序;(3)加载配置文件获取信息:(3.1)遍历出global全局配置信息,获取所有config子节点信息,每个子节点包含id属性和value属性对应的信息;(3.2)遍历出servers服务器配置信息,获取所有server子节点信息,获取标签id属性、name属性、ip属性、port属性、user属性、password属性对应的信息,判断是server否包含子节点,如果含有判断节点名称是不是param,是则获取标签id属性对应的信息和标签中的文字;(3.3)遍历出exec命令组配置信息,获取所有group子节点信息,获取标签id属性、target属性对应的信息,获取具体操作命令行;(4)执行终端(4.1)让用户输入命令,获取输入命令,判断如果输入命令为空,让用户重新输入命令;(4.2)解析输入命令,把输入的命令用空格分隔成数组,截取拼接命令,并存放;(4.3)判断输入命令是否是内部定义的命令,是内部定义的命令则输出以下信息:help:输出程序内部定义的命令;list:列出配置的服务器信息;exec:输出配置的启动程序命令;reload:重新加载配置文件;(4.4)判断输入的命令是否是配置文件命令组id的值(例:deploy),获取配置文件中对应的服务器id,判断对应的服务器是否为存在,不存在则需重新输入命令,检查通过即开始执行控制Linux远程服务器;(5)执行控制Linux远程服务器(5.1)获取服务器的配置信息,包括服务器用户名地址、端口、用户名、密码;(5.2)检查命令组语句,循环配置文件定义的命令组获取命令信息,检查命令表达式,如果有命令表达式为空则提示命令表达式错误;再判断命令组需要的目录在目标服务器中是否存在,即获取所有类型为cd的命令,获取对应所有路径,判断该路径在目标服务器是否存在,如果不存在则提示错误;(5.3)连接远程服务器并运行命令,循环遍历命令组信息,获取所有命令表达式开始执行,单个命令定义如下:如果命令是confirm,则提示确认操作,如果输入为y,则运行程序,如果输入为n,则程序终止退出;如果命令是cd,则进入对应的参数路径;如果命令是run,则判断sudo参数是否为true,为true则以管理员的身份运行对应的程序命令,为false则以用户的身份运行对应的程序命令;(5.4)在每个目标服务器中依次执行配置文件的命令至结束。本专利技术与现有专利技术相比,具有以下优点及突出性效果:本专利技术建立了一个通用的Python控制端和XML控制模型,XML编写者不需要关注Python控制端程序逻辑也可快速根据模型编写配置,给服务器集群维护者提供了一个控制终端可在实际应用中快速上手。本专利技术适合大部分互联网公司,用户想减少操作服务器的时间和复杂程度,可以进行配置服务器一步操作,快速上手,根据预先设计好的操作,让用户输入指定的命令,避免经验不足的人操作服务器不当的情况。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:图1是本专利技术流程示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。参照图1,展示了本专利技术的程序的具体流程图,该使用xml和python集中控制linux的方法,包括以下过程:(1)用户启动Python程序,Python控制端读取配置好的xml配置文件信息,xml配置文件设置相应的集群信息、服务器相关信息和相关的执行命令,Python控制端根据程序逻辑提供控制终端响应信息;(2)用户在控制终端输入命令,Python控制端得到用户的命令信息,根据读取到的xml配置文件的详细信息去操作控制服务器集群;(3)Python控制端根据服务器集群响应提供给控制终端展示给用户。本专利技术中,要事先配置好xml配置文件信息,要切合具体应用场景,配置相应的的服务器命令和相关信息。在实际应用中,程序逻辑应与配置之间的关系可以是有经验丰富的开发工程师建立,从而防止经验不足的人设计不当的情况,提高程序的性能和安全。具体的例子,集群环境一步启动:(1)用现有的启动脚本启动Pytho本文档来自技高网...

【技术保护点】
1.使用xml和python集中控制linux的方法,其特征在于:包含以下步骤:/n(1)双击程序启动文件会执行命令启动程序,开始执行Python程序;/n(2)设置环境信息并检查配置文件,若配置文件缺失或者格式错误则退出程序;/n(3)加载配置文件获取信息;/n(4)执行终端;/n(5)执行控制Linux远程服务器。/n

【技术特征摘要】
1.使用xml和python集中控制linux的方法,其特征在于:包含以下步骤:
(1)双击程序启动文件会执行命令启动程序,开始执行Python程序;
(2)设置环境信息并检查配置文件,若配置文件缺失或者格式错误则退出程序;
(3)加载配置文件获取信息;
(4)执行终端;
(5)执行控制Linux远程服务器。


2.根据权利要求1所述的使用xml和python集中控制linux的方法,其特征在于:步骤(3)加载配置文件获取信息,具体包括以下步骤:
(3.1)遍历出global全局配置信息,获取所有config子节点信息,每个子节点包含id属性和value属性对应的信息;
(3.2)遍历出servers服务器配置信息,获取所有server子节点信息,获取标签id属性、name属性、ip属性、port属性、user属性、password属性对应的信息,判断是server否包含子节点,如果含有判断节点名称是不是param,是则获取标签id属性对应的信息和标签中的文字;
(3.3)遍历出exec命令组配置信息,获取所有group子节点信息,获取标签id属性、target属性对应的信息,获取具体操作命令行。


3.根据权利要求1所述的使用xml和python集中控制linux的方法,其特征在于:步骤(4)执行终端,具体包括以下步骤:
(4.1)让用户输入命令,获取输入命令,判断如果输入命令为空,让用户重新输入命令;
(4.2)解析输入命令,把输入的命令用空格分隔成数组,截取拼接命令,并存放;
(4.3)判断输入命令...

【专利技术属性】
技术研发人员:杨仕方
申请(专利权)人:北京慧博科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1