Python之Fabric模块
#!/usr/bin/env pythonfrom fabric.api import *
from fabric.colors import *
env.hosts = ['192.168.100.245']
env.user = 'root'
env.password = 'abc123'
@runs_once
@task
def tarfile():
print yellow('tar file ...')
with lcd('/var/log'):
local('tar zcf messages.tar.gz apache2')
@task
def putfile():
print blue('put file ...')
run('mkdir -p /tmp/log')
with cd('/tmp/log'):
with settings(warn_only=True):
result = put('/var/log/messages.tar.gz','/tmp/log')
if result.failed and not confirm('put file filed,Continue?'):
abort('Aborting file put task!')
#@task
#def checkfile():
# print red('check file ...')
# with settings(warn_only=True):
# lmd5 = local('md5sum /var/log/messages.tar.gz',capture=True).split('')
# rmd5 = run('md5sum /tmp/log/messages.tar.gz').split('')
# if lmd5 == rmd5:
# print 'ok'
# else:
# print 'error'
@task
def checkfile():
with settings(warn_only=True):
lmd5=local("md5sum /var/log/messages.tar.gz",capture=True).split(' ')
rmd5=run("md5sum /tmp/log/messages.tar.gz").split(' ')
if lmd5==rmd5:
print "OK"
else:
print "ERROR"
@task
def go():
tarfile()
putfile()
checkfile()
页:
[1]