def upload_log(self, gameserver, logtype=None, date=None, logfile=None):
from bible.utils import BZIP2
gameserver = GameServer(gameserver)
ftp_log_path = '/{}_log/{}'.format(gameserver.game, gameserver.name)
logtypes = ['dayreport', 'rtreport']
date = date if date else time.strftime('%Y-%m-%d')
if logfile:
logfiles = [logfile]
else:
if logtype:
logfiles = ['/app/{0}/backend/logs/game/{1}/{1}_{2}.log'.format(gameserver.name, logtype, date)]
else:
logfiles = ['/app/{0}/backend/logs/game/{1}/{1}_{2}.log'.format(gameserver.name, each_logtype, date) for each_logtype in logtypes]
@hosts(gameserver.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(self.ip, ftp_log_path, each_log) )
execute(_upload_log)
评论列表
文章目录