Используйте ткань для выполнения кода на удаленном сервере из Python

Я хотел бы вызвать «run ()» или «sudo ()» с тканью, чтобы выполнить скрипт на удаленном хосте. Однако я хочу сделать это изнутри python, а не из командной строки:

поэтому вместо:

fab.py:
def do_something():
    print "doing something"
    sudo("my_shell_commandline_to_do_something")

а потом:

fab do_something

Я хочу просто вызвать do_something из какой-нибудь другой программы на Python. Как мне это сделать? Как указать IP-адрес удаленного хоста, поскольку внутри Python нет файла fabricrc (или есть?)


person eran    schedule 28.04.2013    source источник


Ответы (1)


Не за что, сам нашел :)

это:

from fabric.operations import sudo
from fabric.context_managers import settings

with (settings(host_string=remote_ip_address, 
user='myuser', 
key_filename='/tmp/.ssh/myKey.pem')):
    sudo('touch a.txt')
person eran    schedule 28.04.2013