推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于脚本自动化运行的服务器管理软件开发

更新时间:2020-01-01 22:17:14 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:脚本自动化运行 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

服务器管理工具,采用Python内核与第三方库进行开发,主要解决了日常的平台运维频繁登录服务器和人为误操作的问题,并且通过编写Python脚本,固化服务器日常巡检与整改操作。使用Py Qt设计与实现了服务器管理软件的客户端,Py Qt是结合了Qt的C++跨平台程序框架和Python的踌平台解释性脚本语言。对此管理软件进行模块化独立设计,各子程序模块集成于主程序模块,使程序的设计操作简单化。


部分文件列表

文件名 大小
基于脚本自动化运行的服务器管理软件开发.pdf 2M

部分页面预览

(完整内容请下载后查看)
《自动化技术与应用》 2018 年第 37 卷第 6 期  
计算机应用  
Computer Applications  
基于脚本自动化运行的服务器管理软件开发  
陈衍鹏  
( 广东电网有限责任公司佛山供电局 , 广东 佛山  528000)  
:服务器管理工具  采用 Python 内核与第三方库进行开发  主要解决了日常的平台运维频繁登录服务器和人为误操作的问  
题,且通过编Python化服务器日常巡检与整改操作使PyQt计与实现了服务器管理软件的客户PyQt  
是结合了 Qt  C++ 跨平台程序框架和 Python  的踌平台解释性脚本语言。对此管理软件进行模块化独立设计  各子程  
序模块集成于主程序模块  使程序的设计操作简单化。  
关键:服务器管理 ;Python;PyQt; 脚本  
中图分类号 :TP311    文献标识码 :B    文章编号 :1003-7241(2018)06-0042-05  
The Development of Server Management Software  
Based on Script Automation Running  
CHEN Yan-peng  
( Foshan Power Supply Bureau, Guangdong Power Grid Limited Corporation, Foshan 528000 China )  
Abstract: Server management tools, using the python core and third-party libraries for development, mainly solves the problem of  
frequent logon server and human error operation of the daily platform operation and maintenance, and solidify the daily  
inspection and rectification operation of the server by writing Python scripts. Using pyqt design and implement the client  
server management software, pyqt is the C++ cross platform program framework of Qt and the platform interpretive  
scripting language of the Python. The management software is designed independently, each sub module is integrated with  
the main program module, so that the design and operation of the program is simple.  
Keywords: Server management; Python; PyQt; Scripts  
  并且提供脚本上传、执行、运行结果下载、服务器  
1 引言  
信息管理等功能。降低人力和事件成本  更加解决了人  
为误操作时带来的损失。  
目前  公司信息部门的日常运维工作中  需要登录  
后台操作系统进行巡检  查看服务器状态和相关参数 ;  
在年度安全整改中  需要对服务器上传扫描脚本  并且  
回传扫描结果  完成结果分析后  由相关负责人进行漏  
洞整改  修改服务器的相关文件参数。由于该工作需要  
使用人工方式进行登录  面对数量庞大、安全要求极高  
的服务器  公司需要消耗大量的人力物力进行服务器巡  
检和整改工作  时间和人力成本过于高昂  并且手工操  
作的过程中  容易出现人为的误操作  导致服务器无法  
正常运行等一系列不可预料的损失。  
2
Python PyQt  
Python 有的变量都不需要定义  这给了编程者  
很大的自由空间。如 a=3, 即可同时完成变量的定义和  
赋值。对于简化程序的代码  起到了很大的作用!库很  
  博大精深  这样形容 python 恰当不过了。正因  
为其强大的库  让编程不再艰难。其次   C/C++   
  所有语句末尾无需再添加繁琐的“;”( 分号 ), 因为  
每一行就是一个语句  并且使用简单而美观的缩进    
范了变量和语句的执行域  而摒弃了一贯使用{}(   
括号 ) 作为界限  不仅使语句更加富有可读性  而且还  
为了解决以上问题  公司决定开发一套服务器管理  
工具  用于固化服务器管理脚本  为脚本提供保存的地  
收稿日期 :2017-12-19  
42 | Techniques of Automation & Applications  
《自动化技术与应用》 2018 年第 37 卷第 6 期  
计算机应用  
Computer Applications  
为代码的编写者提供了良好的代码习惯 [1]  
4.1 服务器信息管理  
Qt  C++ 跨平台应用程序框架而开发的 GUI  
  具有强大的图形界面开发接口。PyQt 实现了一个  
Python 块集。它有超过 300   将近 6000 个函数和  
方法。它是一个多平台的工具包  可以运行在所有主要  
操作系统上  包括 UNIX,Windows  Mac。PyQt 采用  
双许可证  开发人员可以选择 GPL 和商业许可。在此之  
 ,GPL 的版本只能用在 Unix    PyQt 的版本 4   
 GPL 可证可用于所有支持的平台。本软件为了简  
由于服务器的数量庞大  使用软件的时候  首先解  
决的是登录的问题。由于使用的模块是 Python 三方  
 Paramiko 进行开发  所以需要有完整的服务器 IP   
址、用户名、密码  因此软件需要提供的首要功能是服  
务器列表的导入和信息更改。由于服务器的用户名、密  
码都属于高密信息  因此需要进行加密处理 [4]  
4.2 文件管理  
在运维工作中  不免经常需要上传文件、脚本等到  
服务器中  也需要从服务器中下载相应的文件到本机   
所以本软件还需要实现文件上传和下载的功能。上传和  
下载的过程都处于主动推送和获取方式  免去了服务器  
重新配置的工作。由于上传和下载文件面向的是大量的  
服务器  需要解决的一个问题是文件过大时等待时间的  
问题  所以我们需要使用多线程的方式对所有服务器的  
上传、下载操作进行单独的处理。  
化开发过程和降低开发难PyQt4行开[2]  
3 软件的网络结构  
服务器管理软件由于使用的是工具管理的方式进行  
开发  并且在使用时  把服务器的信息一并录入管理软  
件中  由工具进行自动化登录动化执行脚本等操作   
无需在服务器端进行多余的 Agent 的安装  实现了最简  
单的一对多的管理方式   1 为所描述的软件网络结构。  
4.3 脚本管理  
用户在执行脚本前  需要把脚本的列表展现在工具  
的相应列表中  然后选中脚本进行下部分的操作 :  
查看脚本  脚本保存在 scrip 件夹中  脚本的信息需  
要统一使用 utf-8 进行编码  主要是为了解决大部分的  
乱码问题  使用默认的编码方式是美式 utf-8 方式    
查看脚本的功能中  可以看到脚本的详细内容  但不能  
修改 ; 第二 : 修改脚本  修改脚本的操作首先需要读取  
选中的脚本文件  然后对脚本文件内容进行展现  该过  
程与查看脚本文件的方式一致  但用户此时是拥有修改  
权限的  修改完成后可以进行保存  保存时需要保证编  
码方式是 utf-8[5]  
图1 件网络结构图  
4.4 执行管理  
观察上图可知  为了把使用服务器管理工具的权限  
得到有效控制  软件需要部署在单独的管理服务器中   
由用户通过堡垒机的方式登录管理服务器  然后再使用  
该软件进行服务器的管理操作。所有的管理指令统一由  
管理服务器发出  并且由管理服务器进行审计  确保每  
一个用户的每一个操作都可审计 [3]  
软件最重要的功能是执行管理。该功能主要是对服  
务器进行脚本的上传与脚本的执行  并且声称脚本执行记  
录。执行脚本分为两种方式  分别是已存在的脚本文件进  
行运行  另外一种方式是不执行脚本文件  而是在软件中  
输入命令来执行  前者使用 sftp 进行脚本文件的上传然后  
执行  后者则只需要对服务器传输脚本命令  然后返回执  
行结果即可脚本执行完后 件将自动生成日志文件   
并且保存在 log 文件夹中  以便以后的审计。  
4 软件功能模块  
该软件面向服务器管理  因此需要对软件的功能进  
行分模块开发。经过需求分析  最终确定软件功能有服  
务器信息管理、文件管理、脚本管理、执行管理三大功  
能模块。  
5 软件界面开发  
软件的界面使用 PyQt 行开发  开发过程中    
要对软件的界面进行布局规划。软件的布局大体采用普  
Techniques of Automation & Applications | 43  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载