fabric

SSH第一次远程登陆时,会要验证一次,通过后,以后直接登录

fabric_第1张图片
类似expect


fabric_第2张图片


fabric_第3张图片

fabric常用参数

-l : 显示定义好的任务函数名

-f : 指定fab入口文件,默认入口文件名为fabfile.py

-H : 指定目标主机,多台主机用","号分割

fabric常用API

local : 执行本地命令,如:local('uname -s')

lcd : 切换本地目录,如:lcd('/home')

cd : 切换远程目录,如:cd('/etc')

run : 执行远程命令,如:run('free -m')

sudo : sudo方式执行远程命令,如:sudo('touch /abc')

put : 上传本地文件到远程主机,如:put('/hello', '/home/itcast/hello')

get : 从远程主机下载文件到本地,如:get('/home/python/world', '/home/itcast/world')

reboot : 重启远程主机,如:reboot()

@task : 函数装饰器,标识的函数为fab可调用的,非标记的对fab不可见,纯业务逻辑

@runs_once : 函数装饰器,标识的函数只会执行一次,不受多台主机影响

fabric全局属性设定

env.host : 定义目标主机,如:env.host=['192.168.17.192', '192.168.17.193']

env.user : 定义用户名,如:env.user="root"

env.port : 定义目标主机端口,默认为22,如:env.port="22"

env.password : 定义密码,如:env.password="chuanzhi"

env.passwords : 不同的主机不同的密码,如:env.passwords={'[email protected]:22':'chuanzhi', '[email protected]:22':'python'}


fabric_第4张图片

上传文件并执行

fabric_第5张图片


fabric_第6张图片

你可能感兴趣的:(fabric)