.txt文件中有一个IP地址列表,例如:
1.1.1.1
2.2.2.2
3.3.3.3
每个IP地址的后面都有一个服务器,并且每个服务器上的端口22上都运行着一个sshd。known_hosts
列表中并不是每个服务器(在我的PC上为Ubuntu 10.04 LTS / bash)。
如何在这些服务器上运行命令并收集输出?
理想情况下,我想在所有服务器上并行运行命令。
我将在所有服务器上使用公钥身份验证。
以下是一些潜在的陷阱:
- ssh提示我将给定服务器的ssh密钥放入我的
known_hosts
文件中。 - 给定的命令可能返回非零退出代码,指示输出可能无效。我需要认识到这一点。
- 例如,由于网络错误,可能无法建立到给定服务器的连接。
- 如果命令的运行时间比预期的长,或者服务器在运行命令时关闭,则应该有一个超时时间。
服务器是AIX / ksh(但我认为那并不重要。