一种基于SSHxcute类库的多服务器执行命令的方法

文档序号:9489331阅读:261来源:国知局
一种基于SSHxcute类库的多服务器执行命令的方法
【技术领域】
[0001] 本发明涉及计算机领域,特别是涉及一种基于SSHxcute类库的多服务器执行命 令的方法。
【背景技术】
[0002] SSHxcute是一种现存的基于JAVA的远程执行类库,允许人们利用JAVA代码通过 ssh远程执行Linux/Unix系统上的命令或者脚本,这种方式不管是针对软件测试还是系统 部署,都简化了自动测试与系统部署的步骤。但是现有的情况只是针对单个服务器的连接。
[0003] 系统的爆炸性增长让应用的分布式变得越来越普遍。虽然现有的分布式系统的应 用,给予应用本身很大的可扩展性。但是相对来说,维护性就可能受到其影响,让维护人员 的工作量加倍和工作效率降低。其中,最常见的麻烦之一便是错误处理问题的查找。当用 户需要根据错误日志来诊断问题出现的时间和相对位置的时候,多个服务器之间的相互切 换和命令的重复键入是没办法被避免的,用户需要重复各种简单而且单调的工作模式,在 不同的机器当中重复实现,多服务器执行命令的效率较低。

【发明内容】

[0004] 有鉴于此,本发明的主要目的在于提供一种基于SSHxcute类库的多服务器执行 命令的方法,可以高效地令多服务器查找错误日志。
[0005] 为实现上述目的,本发明提供了一种基于SSHxcute类库的多服务器执行命令的 方法,包括:
[0006] 响应错误日志获取指令,遍历所有服务器,在各服务器中查找错误日志;
[0007] 在各服务器中查找错误日志包括:
[0008] 在各服务器中查找具有目标任务标识号的第一日志,根据所述第一日志确定对应 的目标服务器,在所述目标服务器中查找具有错误标识的第二日志。
[0009] 优选地,所述基于SSHxcute类库的多服务器执行命令的方法还包括:
[0010] 响应下载日志指令将目标日志从服务器下载到本地。
[0011] 优选地,所述基于SSHxcute类库的多服务器执行命令的方法还包括:
[0012] 响应上传配置指令将目标配置文件从本地上传到服务器。
[0013] 优选地,遍历所有服务器包括:
[0014] 响应服务器磁盘空间信息命令,读取使用率大于90%的服务器;
[0015] 从配置文件中加载用户名、密码以及服务器信息;
[0016] 设置当SSH连接时不进行公钥确认;
[0017] 打开命令执行管道;
[0018] 读取命令输出信息。
[0019] 优选地,在各服务器中查找具有目标任务标识号的第一日志,根据所述第一日志 确定对应的目标服务器,在所述目标服务器中查找具有错误标识的第二日志包括:
[0020] 设置第一日志的目标任务标识号;
[0021] 设置所述第一日志在文件中的位置;
[0022] 设置第二日志的错误标识;
[0023] 设置所述第二日志在文件中的位置;
[0024] 打开第一执行管道;
[0025] 设置命令,从所述第一日志中找到所述目标任务标识号;
[0026] 关闭所述第一执行管道;
[0027] 当在所述第一日志中找到所述目标任务标识号后在同一服务器第二日志文件中 继续查找所述错误标识;
[0028] 打开第二执行管道;
[0029] 输出需要查找的日志信息;
[0030] 当在服务器中找到具有错误标识的第二日志后,停止其他服务器中错误日志的查 找。
[0031] 优选地,响应下载日志指令将目标日志从服务器下载到本地包括:
[0032] 设置目标端口;
[0033] 打开目标ftp管道;
[0034] 转到根目录;
[0035] 从服务器上下载目标日志文件到本地目录。
[0036] 优选地,响应上传配置指令将目标配置文件从本地上传到服务器包括:
[0037] 设置目标端口;
[0038] 打开目标ftp管道;
[0039] 转到根目录;
[0040] 上传目标配置文件到服务器上,当服务器上已经存在所述目标配置文件时,则覆 盖原所述目标配置文件。
[0041] 应用本发明提供的一种基于SSHxcute类库的多服务器执行命令的方法,响应错 误日志获取指令,遍历所有服务器,在各服务器中查找错误日志;在各服务器中查找错误日 志包括:在各服务器中查找具有目标任务标识号的第一日志,根据所述第一日志确定对应 的目标服务器,在所述目标服务器中查找具有错误标识的第二日志。本方法基于SSHxcute 类库,可以实现多服务器之间的切换,遍历所有服务器执行命令,动态读取服务器日志,上 传下载目标文件,可以缩短连接转换服务器执行命令的时间,提高查找错误日志的效率。
【附图说明】
[0042] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。
[0043]图1为本发明一种基于SSHxcute类库的多服务器执行命令的方法的实施例的原 理示意图。
【具体实施方式】
[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0045] 本发明实施例提供了一种基于SSHxcute类库的多服务器执行命令的方法,包括:
[0046] 响应错误日志获取指令,遍历所有服务器,在各服务器中查找错误日志;
[0047] 其中,遍历所有服务器的实现代码如下:
[0048]

[0050] 上述程序语句中:
[0051]user,properties用来存放用户名和密码:
[0052]username=admin
[0053]password=xxxxxxxx
[0054]servers,propesties用来存放servers的IP信息例如:
[0055]#aliasname=hostname/IP
[0056]server1 = 192. 168. 0· 11
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1