リモートシステムでローカルPythonスクリプトを実行する

リモートシステムでローカルPythonスクリプトを実行する

リモートコンピュータのローカルディスクからPythonスクリプトを実行したいと思います。私は次のようなbashスクリプトを実行しました。

cat script.sh | ssh user@machine

しかし、Pythonスクリプトで同じことを行う方法がわかりません。

答え1

他の人が言ったように、sshでパイプします。しかし、あなたがすべきことは適切な主張をすることです。-uSSHから正しく出力を取得するには、追加する必要があります。そして、-処理出力とそれに続くパラメータを追加したいと思います。

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

関連情報