簡體   English   中英

將輸出從python腳本管道傳輸到遠程計算機?

[英]Piping output from a python script to a remote machine?

我有一個python腳本,可在屏幕上輸出/打印一個大數組(大小為50MB)。 該腳本在machineA上運行。 是否可以將此輸出“管道”到machineB ,在哪里進行處理?

我知道我可以將輸出保存在machineA上的文件中,然后將文件發送到machineB 我只是想知道是否有可能這樣做,而不必先將數據保存到文件(在machineA )。

任何解決方案(python,bash shell,其他想法)將不勝感激。

這是nc (netcat)的工作...在machineB執行

nc -l 12345 | processing_program

此命令將以“偵聽模式”啟動netcat,以等待連接。 建立連接后,來自網絡的內容將被發送到stdout,發送到stdin的內容將被發送回連接的任何人。

之后,您繼續在machineA運行

generating_program | nc machineB 12345

這將指示netcat啟動與machineB (端口12345)的連接,並通過電線發送從stdin獲得的任何內容。 從該連接返回的所有內容都將發送到標准輸出。

使用Netcat工具,您可以輕松地將數據從一台計算機傳輸到另一台計算機。

您可以在不同級別上進行操作-這里有一些選擇

  1. 使用ssh傳遞myprog | ssh remotemachine myotherprog
  2. 使用nfs(如果轉到文件
  3. 使用netcat(nc)
  4. 用節儉之類的東西

這取決於解決方案的牢固性和持久性

也許有些類似的東西

myPythonScript | ssh user@machine "sh -c 'cat >myfile.txt'"

警告:完全從我的腦海中拔出,未經測試!

在機器A上:

python script-on-machineA.py --options | ssh machineB tee /file/on/machine/B.txt

或者,在machineB上:

ssh machineA python /path/to/script-on-machineA.py --options | cat > /file/on/machine/B.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM