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

使用ssh在远程计算机上运行命令,ssh,command,gnu-screen,Ssh,Command,Gnu Screen,我想使用ssh在多台机器上运行一些命令。我知道只需使用命令“ssh”就可以完成user@hostname命令”。但是,我要运行的命令在控制台上打印一些字符串。有没有办法将所有字符串发送回我正在使用的控制台?为什么不向您发送一封电子邮件? 或者使用日志文件,并将其scp到当前计算机? 否则,我不知道 您可以在以下位置运行命令: 然后可以从屏幕上分离(Ctrl-D),让它运行多长时间,然后重新连接(screen-r测试)到屏幕并查看所有输出。但是,这假设您不会有大量的命令输出 您可能想使用它。您可以

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

为什么不向您发送一封电子邮件? 或者使用日志文件,并将其scp到当前计算机?
否则,我不知道

您可以在以下位置运行命令:

然后可以从屏幕上分离(Ctrl-D),让它运行多长时间,然后重新连接(screen-r测试)到屏幕并查看所有输出。但是,这假设您不会有大量的命令输出

您可能想使用它。您可以在“虚拟”终端中启动一个进程,“分离”该终端并注销您想要的时间。。。然后,您可以通过ssh返回并重新连接终端以查看控制台输出

 ssh user@hostname command 
就是这样。如果“command”输出了一些东西,它将显示在您运行ssh的终端上。 试试sshuser@hostnamels-l


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

还可以看看
nohup
,例如:

sshuser@domain.comnohup脚本\u输出\u strings.py>字符串.txt


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

我要远程运行的程序可能需要几天时间。我只是想能够监控实时进程。你不想先连接到远程主机,然后在那里启动一个屏幕会话,/然后/执行命令吗?我不这么认为。我理解这个问题,您希望所有的输出都在一个控制台上,这就是为什么您启动屏幕,然后运行命令。如果我在一个控制台上有大量的输出,该怎么办。缓冲区有多大?如果控制台上有大量的输出,我会将输出写入每台机器上的一个标准位置,然后将文件从每台主机复制到一个中心位置以查看日志。存储的输出行数在~/.screenrc文件中设置为一行,例如:“defscrollback 15000”每个窗口存储15000行。
 ssh user@hostname command