mr923 发表于 2018-8-14 06:54:20

Python之Fabric模块

#!/usr/bin/env python  
from 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]
查看完整版本: Python之Fabric模块