使用fabric1.14.0和fabric2.4.0
fabric1.14.0(支持Python2.5-2.7版本):
from fabric.api import *
env.gateway = '192.168.181.2' # 指定堡垒机 ip
env.hosts = ['192.168.181.111', '192.168.181.112'] # 指定 hosts 远程主机
env.key_filename = '/path/to/id_rsa' # 指定你的私钥文件
env.user = 'username' # 指定用户名
def touchfile(): # 随便创建一个任务,用来测试
run('touch /tmp/www.txt')
若通过密码登录,可以使用 env.passwords 来管理:
env.passwords = {
'username@192.168.182.222:22':'password',
'username@192.168.182.333:22':'password',
'user@ip:port':'password'
}
fabric2.4.0(支持Python2.5-2.7版本):
此时导入 from fabric.api import *会报错没有api
from fabric import Connection
from invoke import run
c = Connection('192.168.0.0', port=22, user='jianping', connect_kwargs={'password':'xxxxxx'})
c.run('uname -s')
c.put('/home/jianping/work/Tax_Punish/test.py', '/home/work')