リモートコンピュータのローカルディスクからPythonスクリプトを実行したいと思います。私は次のようなbashスクリプトを実行しました。
cat script.sh | ssh user@machine
しかし、Pythonスクリプトで同じことを行う方法がわかりません。
答え1
他の人が言ったように、sshでパイプします。しかし、あなたがすべきことは適切な主張をすることです。-u
SSHから正しく出力を取得するには、追加する必要があります。そして、-
処理出力とそれに続くパラメータを追加したいと思います。
ssh user@host python -u - < script.py
コマンドライン引数を提供するには、その引数を-
。
ssh user@host python -u - --opt arg1 arg2 < script.py
答え2
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