在远程机器上运行本地Python脚本

在远程机器上运行本地Python脚本

我希望在远程计算机上运行本地磁盘上的 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

相关内容