Ssh
在遠端機器上執行本地 python 腳本
我希望執行我在遠端機器上本地磁碟上的 python 腳本。我曾經像這樣執行 bash 腳本:
cat script.sh | ssh user@machine
但我不知道如何為 Python 腳本做同樣的事情。
正如其他人所說,將其通過管道傳輸到 ssh 中。但是你要做的是給出正確的論據。您將需要添加
-u
以正確從 ssh 獲取輸出。並想添加-
處理輸出和以後的參數。ssh user@host python -u - < script.py
如果要提供命令行參數,請將它們添加到
-
.ssh user@host python -u - --opt arg1 arg2 < script.py
使用 python 的 remrunner 包。它將本地腳本複製到遠端機器,然後執行它們。
pip install remrunner
python >> from rumrunner import runner >> r = runner.Runner(REMOTE_HOST_IPADDR, REMOTE_HOST_USER) >> rval, stdout, stderr = r.run('/path/to/local/script.py') >> if rval: print stderr else: print stdout