2009-06-23 166 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輸出回你本地機器。

相關問題