2011-02-03 137 views
4

我正在尝试使用bash编写shell脚本。我有多台服务器,每台服务器上都有多个应用程序在运行。每个服务器也有特定的应用程序脚本来检查/停止/启动等。我想要做的就是,做一个SSH并连接到远程服务器。 我也能够成功地做到这一点,并且还能够优化命令。如何使用ssh连接到远程服务器并获取信息

在某些情况下,我需要检查远程计算机上的某些进程状态,应用程序的特定脚本已经这样做了。但是,当我尝试执行该脚本时,使用我的ssh我没有得到任何信息(它被执行,但没有信息被传递)。我如何从远程主机获取信息并显示在本地主机上。

对此的任何帮助真的很感激。

问候, Senny

+0

请更具体地说你叫什么*信息*是脚本的输出还是别的。您是否尝试通过ssh连接到远程机器并从那里手动启动脚本?它工作吗? – gabuzo 2011-02-03 11:15:08

+0

如果您可以显示您所尝试的内容,则有人可能会告诉您为什么不起作用以及如何解决问题。 – 2011-02-03 11:22:29

回答

7

您可以run remote commands and get results locally通过将命令作为一个字符串为SSH。

在脚本中,你可以这样做:

CMD_OUT=$(ssh [email protected]_host "/path/to/script argument") 

的命令将被远程运行,在CMD_OUT可变输出库。然后,您可以解析脚本中的输出以获得所需的结果。

为了简化脚本的使用,您可能需要设置passwordless ssh,以便每次脚本尝试运行远程命令时都不必输入密码。