#!/usr/bin/python
from fabric.api import *
from fabric.api import env, run
from fabric.tasks import execute
from fabric.colors import *
from fabric.operations import *
from fabric.contrib.project import rsync_project
import datetime as dt
import yaml
import os
def remoteRun():
print "ENV %s" %(env.hosts)
out = run('uname -n')
def SyncLog(To,From,Port):
# remoteRun()
# print To + '----' + From
print key+":"+Port
SSHOptions='-e "ssh -p ' + Port + '"'
# rsync_project(To,From)
os.system("rsync -a --update --delete --delete-after " + SSHOptions + " userXXX@" + key + ":" + From + " " + To)
configs = yaml.load(open('logs.conf'))
for Host,value in configs.iteritems() :
# print env.host_string
key,Port=Host.split(';')
env.host_string = key
for j in value.split(','):
# print 'host' + key + ' has value ' + j
Dir,LogName=j.split(';')
PathName = "/logs"+"/"+key+"/"+Dir
# print Dir+" and "+LogName
if not os.path.isdir(PathName):
print PathName + " does not exist! "
os.makedirs(PathName)
SyncLog(PathName,LogName,Port)
# remoteRun()
Thanks,
carl