def upload_log(self, logtype=None, date=None, logfile=None, ftp_ip=None):
"""
An example: pandora --ftp -r 30 -t 1200 -z -m 42.62.119.164 /tjmob_log/tjmob_37wan_1 /app/tjmob_37wan_1/backend/logs/game/dayreport/dayreport_2015-05-03.log.bz2*
"""
from bible.utils import BZIP2
ftp_log_path = '/{}_log/{}'.format(self.game, self.name)
logtypes = ['dayreport', 'rtreport']
date = date if date else time.strftime('%Y-%m-%d')
ftp_ip = ftp_ip if ftp_ip else '42.62.119.164'
if logfile:
logfiles = [logfile]
else:
if logtype:
logfiles = ['/app/{0}/backend/logs/game/{1}/{1}_{2}.log'.format(self.name, logtype, date)]
else:
logfiles = ['/app/{0}/backend/logs/game/{1}/{1}_{2}.log'.format(self.name, each_logtype, date) for each_logtype in logtypes]
@hosts(self.int_ip)
def _upload_log():
for each_log in logfiles:
dir, filename = os.path.split(each_log)
with cd(dir):
file_bz2 = '{}.bz2'.format(filename)
file_md5 = '{}.MD5'.format(file_bz2)
run('[ -f {0} ] && echo "{0} already exists" || {1} {2}'.format(file_bz2, BZIP2, filename))
run('[ -f {0} ] && echo "{0} already exists" || md5sum {1} >{0}'.format(file_md5, file_bz2))
run('''pandora --ftp -r 30 -t 1200 -z -m {} {} {}.bz2*'''.format(ftp_ip, ftp_log_path, each_log) )
execute(_upload_log)
#class Resource(object):
# """
# ????????????????????????????????
# ?????????????????
#
# """
# def __init__(self,
#
# def upload(self, file):
# dir, filename = os.path.split(file)
# resource_dir = '/app/www/{}/{}/{}'.format(game, RELEASE_TYPE, TIMESTAMP)
# resource_ip = gameOption('www_ssh_ip')
# execute(mk_remote_dir, resource_dir, hosts=[resource_ip])
# local('rsync -aP {}/{{{},md5.txt}} {}:{}/'.format(dir, filename, resource_ip, resource_dir))
#
# def download(self, file):
# remote_dir, filename = os.path.split(file)
# mk_remote_dir(REMOTE_DIR)
# with cd(remote_dir):
# wget = 'wget -c -t 10 -T 10 -q'
# server_name = gameOption('www_header')
# for each_file in [filename, 'md5.txt']:
# run('''{} --header="Host:{}" http://{}/{}/{}/{}/{}'''.format(wget, server_name, gameOption('www_ip'), game, RELEASE_TYPE, TIMESTAMP, each_file))
# run('dos2unix md5.txt && md5sum -c md5.txt')
评论列表
文章目录