使用fabric在python中执行远程服务器上的代码

时间:2013-04-28 15:24:33

标签: python fabric

我想用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文件(或者在那里?)

1 个答案:

答案 0 :(得分: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')