使用ssh在远程机器上运行命令

时间:2009-06-23 23:20:50

标签: ssh command gnu-screen

我想使用ssh在多台机器上运行一些命令。我知道只需使用命令“ssh user @ hostname”即可完成。但是,我想要运行的命令在控制台上打印一些字符串。有没有办法将所有字符串发送回我正在使用的控制台?

5 个答案:

答案 0 :(得分:6)

您可以在screen中运行命令:

screen -S test
ssh user@hostname command1
ssh user@hostname2 command2

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

答案 1 :(得分:6)

 ssh user@hostname command 

就是这样。如果'command'输出某些内容,它将显示在您运行ssh的终端上。 尝试例如ssh user @ hostname ls -l <​​/ p>

但正如其他人所说,GNU屏幕对于这类工作非常宝贵。

答案 2 :(得分:1)

您可能希望使用Gnu Screen。你可以在“虚拟”终端中启动一个进程,“分离”终端并注销你想要的时间......然后你可以重新连接并重新连接终端以查看控制台输出。

答案 3 :(得分:1)

另请查看nohup,例如:

ssh user@domain.com nohup script_that_outputs_strings.py > the_strings.txt

然后,如果您想返回并监控进度,可以返回并tail将文件或scp输出返回到本地计算机。

答案 4 :(得分:0)

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

相关问题