2009-06-23 138 views
2

我想在使用ssh的多台机器上运行一些命令。我知道这可以通过使用命令“ssh user @ hostname command”来完成。但是,我想运行的命令在控制台上打印一些字符串。有什么方法可以将所有字符串发回到我所在的控制台吗?使用ssh在远程计算机上运行命令

回答

4

你可以在screen运行命令:

screen -S test 
ssh [email protected] command1 
ssh [email protected] command2 

然后,您可以从屏幕分离(按Ctrl-d),让它运行但是长时间运行,然后重新连接(屏幕 - r测试)到屏幕并查看所有输出。这假设你不会从命令中获得大量的输出。 Here's a link to a tutorial on screen

+0

你不是首先想要连接到远程主机,然后在那里启动一个屏幕会话,然后/执行命令? – MSpreij 2009-06-23 23:36:05

0

你为什么不给你发回电子邮件? 或者使用日志文件,并将其scp到您当前的计算机? 否则,我不知道!

+0

我想远程运行的程序可能需要几天时间。我只是想能够监视现场进展。 – 2009-06-23 23:26:49

1

您可能想要使用Gnu Screen。您可以在“虚拟”终端中启动进程,“分离”终端并注销,无论您想要的时间长短如何......然后您可以重新登录并重新连接终端以查看控制台输出。

5
ssh [email protected] command 

就是这样。如果'命令'输出的东西,它会显示在你运行ssh的终端上。 尝试ssh user @ hostname ls -l

但正如其他人所说的那样,GNU屏幕对于这类工作是无价的。

1

也看看nohup,例如:

ssh [email protected] nohup script_that_outputs_strings.py > the_strings.txt

然后,如果你想回去和监控进度,你可以检查回来,tail文件或scp输出回你本地机器。

相关问题