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