使用python的fabric库在远程主机上执行命令
先安装PIP
[[email protected] ~]# yum install python-pip -y
再用PIP的方式安装这个版本的fabric
[[email protected] ~]# pip install fabric==1.14.0
编写python脚本
[[email protected] py]# cat fabric1.py
#!/usr/bin/env python
from fabric.api import *
from fabric.context_managers import *
from fabric.contrib.console import confirm
env.user='root'
env.hosts=['192.168.156.75']
env.password='yourpassword'
@task
@runs_once
def tar_task():
with lcd("/75shell/py"):
local("tar -czf fabric1.tar.gz fabric1.py")
@task
def put_task():
run("mkdir -p /fab/test")
with cd("/fab/test"):
with settings(warn_only=True):
result = put("/75shell/py/fabric1.tar.gz", "/fab/test/fabric1.tar.gz")
if result.failed and not confirm("put file failed, Continue[Y/N]?"):
abort("Aborting file put task!")
@task
def check_task():
with settings(warn_only=True):
lmd5=local("md5sum /75shell/py/fabric1.tar.gz",capture=True).split(' ')[0]
rmd5=run("md5sum /fab/test/fabric1.tar.gz").split(' ')[0]
if lmd5==rmd5:
print "OK"
else:
print "ERROR"
@task
def go():
tar_task()
put_task()
check_task()
执行:
[[email protected] py]# fab -f fabric1.py go
在v75上面验证: