获取多台主机命令执行结果

本文介绍了如何通过shell脚本实现多主机命令执行,重点在于SSH的免密登录原理。首先讲解了SSH的公钥认证,通过将master主机的公钥添加到get机的authorized_keys文件中实现免密登录。然后提供了一个简单的shell脚本示例,配合主机列表文件,可以方便地在多台主机上批量执行shell命令。
摘要由CSDN通过智能技术生成

在多台主机之间批量执行shell语句的效果

之前在主产品用过一个运维同事写的工具,devpssh。可以通过指定主机列表来执行一条shell命令,然后获取到所有的返回结果,输出到屏幕上。

我个人觉得这个工具很实用,尤其是在有多台Nginx服务器的时候,由于负载均衡策略下,不同的请求可能会被下放到不同的get机,因此产生的日志文件就可能分布在多台机器上。如果我们一个个地到每台get机上去执行shell语句。首先工作量会很大,另外获取到的结果也不容易整理。而此时用一下devpssh,就没有这些负担了。

在正式介绍如何写一个这样的工具之前,先来看看需要哪些基础的知识。

  • 主机间信任
  • shell脚本

主机间信任

说到主机之间的信任,还是要将历史往前追溯一下。谈谈SSH。简单来说SSH是一种网络协议,用于计算机之间的加密登录。之所以是加密登录就是应为原始的用户远程登录是明文的,一旦被截获,信息就泄露了。

SSH是协议,具体有很多实现。有商业实现的,也有开源实现。不过大致来看,用法

在VXWorks系统中,可以使用ping命令执行网络连通性测试。具体步骤如下: 1. 打开VXWorks终端。 2. 输入以下命令,将IP地址替换为需要测试的目标主机的IP地址: ``` ping <IP地址> ``` 3. 回车后,系统会发送一系列的ICMP包到目标主机,如果目标主机能够响应这些包,则表示网络连通性正常。在每个ICMP包发送后,系统会显示一个ping结果信息,其中包括: - 目标主机的IP地址 - ICMP包大小 - ICMP包的TTL(生存时间) - 收到ICMP包的时间 - 执行ping命令所需的时间 如果连通性测试成功,则会显示类似以下信息: ``` PING 192.168.1.1: 56 data bytes 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=1 ms 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1 ms 64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=1 ms --- 192.168.1.1 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 1/1/1 ms ``` 如果连通性测试失败,则会显示类似以下信息: ``` PING 192.168.1.2: 56 data bytes Request timed out. Request timed out. Request timed out. --- 192.168.1.2 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss ``` 你可以根据ping结果来判断网络连通性,也可以通过ping命令的一些参数来进行更详细的测试。例如,使用-c参数可以指定发送的ICMP包数量,使用-s参数可以指定ICMP包的大小等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泰 戈 尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值