【发布时间】:2018-03-23 03:14:50
【问题描述】:
我将 python 3.6 与 Fabric3 1.13.1 一起使用。以下是我正在使用的代码的简化版本。
from fabric.api import *
from file import func
env.hosts = ['user@myserver:22' ]
env.passwords={'user@myserver:22':'password'}
def test():
func() # function defined in func
此代码保存在名为 fabfile.py 的文件中。当我在终端中运行fab test 时,执行开始为
['user@myserver:22'] 执行任务'test'
但是根据 htop 的说法,localhost 的资源被使用而不是 myserver 的资源。 myserver 上没有任何进程正在启动。
如果 Fabric 找不到 myserver 是否会静默恢复到 localhost?
编辑 我也试过了
execute(func(), hosts = ['myserver'])
在单独的 python 文件中,以及在 fabfile 中,这两种方式都在 localhost 上执行!
编辑 2
似乎在远程主机上运行的唯一东西是
run("commands_to_run") # 这会从列表 env.hosts 中选择主机
【问题讨论】: