1

我想用fabric调用“run()”或“sudo()”来在远程主机上执行脚本。但是,我想从 python 中执行此操作,而不是从命令行:

所以而不是:

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

接着:

fab do_something

我只想从其他 python 程序中调用 do_something 。我该怎么做呢?我如何提供远程主机 IP 地址,因为 tehre 不是 python 中的 fabricrc 文件(或者有吗?)

4

1 回答 1

2

没关系,我自己找到的:)

它的:

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')
于 2013-04-28T15:37:27.833 回答