Execute o script python local na máquina remota

6

Eu desejo executar o script python que tenho localmente no disco na máquina remota. Eu costumava executar scripts bash como este:

cat script.sh | ssh user@machine

mas não sei como fazer o mesmo para o script Python.

    
por Trismegistos 01.08.2016 / 18:26

2 respostas

5

Como outros já disseram, canalize-o para o ssh. Mas o que você vai querer fazer é dar os argumentos adequados. Você vai querer adicionar -u para obter a saída do ssh corretamente. E deseja adicionar - para manipular os argumentos de saída e posteriores.

ssh user@host python -u - < script.py

Se você deseja fornecer argumentos de linha de comando, adicione-os após o - .

ssh user@host python -u - --opt arg1 arg2 < script.py
    
por 30.08.2016 / 03:50
2

Use o pacote remrunner para python. Copia os scripts locais para uma máquina remota e depois os executa.

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
    
por 12.12.2016 / 18:53