LInux服务器游戏日志合并
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LInux服务器游戏日志合并相关的知识,希望对你有一定的参考价值。
############################ 需求 ############################
1、把Sock1服务器的日志和Sock2服务器的日志合并到Sock2指定目录中
2、每天凌晨一点合并,合并的日志文件名为yymmdd
3、超过七天的日志自动删除
Sock1配置
cat /tmp/log.expcet #!/usr/bin/expect spawn rsync -avzP /data/serverlogs/workspace1/behavior/behavior [email protected]:/tmp/dx5_1 set timeout 5 expect "*password:" send "123456\r" expect eof spawn rsync -avzP /data/serverlogs/workspace2/behavior/behavior [email protected]:/tmp/dx5_2 set timeout 5 expect "*password:" send "123456\r" expect eof spawn rsync -avzP /data/serverlogs/workspace3/behavior/behavior [email protected]:/tmp/dx5_3 set timeout 5 expect "*password:" send "123456\r" expect eof spawn rsync -avzP /data/serverlogs/workspace4/behavior/behavior [email protected]:/tmp/dx5_4 set timeout 5 expect "*password:" send "123456\r" expect eof spawn rsync -avzP /data/serverlogs/workspace5/behavior/behavior [email protected]:/tmp/dx5_5 set timeout 5 expect "*password:" send "123456\r" expect eof exit
#定时任务
crontabl -l 59 0 * * * /usr/bin/expect /tmp/log.expect
Sock2服务器配置
# cat /data/report_job/behaviorLogs/Merge_log.py #!/usr/bin/env python #coding:utf-8 import os,datetime def Merge_log(): #获取时间前一天和前八天的时间 ONE=datetime.datetime.now() - datetime.timedelta(days=1) TOW=datetime.datetime.now() - datetime.timedelta(days=8) NOW=ONE.strftime(‘%Y%m%d‘) BEFORE=TOW.strftime(‘%Y%m%d‘) #开始合并日志 for i in range(1,6): try: os.system(‘cat /tmp/dx5_%s >> /data/report_job/behaviorLogs/%s‘ % (i,NOW)) os.system(‘cat /data/serverlogs/workspace%s/behavior/behavior >> /data/report_job/behaviorLogs/%s‘ % (i,NOW)) except Exception,e: os.system(‘echo "###### %s Merge log fail ######" >> /data/report_job/behaviorLogs/Merge_records‘ % NOW) else: os.system(‘echo "###### %s Merge log success ######" >> /data/report_job/behaviorLogs/Merge_records‘ % NOW) #删除超过七天的合并日志 a=os.chdir(‘/data/report_job/behaviorLogs/‘) r=os.popen(‘ls‘) info=r.readlines() for i in info: i=i.strip(‘\n‘) if BEFORE > i: os.system(‘rm -rf %s‘ % i) #日志文件空行换行 os.system(‘echo >> /data/report_job/behaviorLogs/Merge_records‘) if __name__==‘__main__‘: Merge_log()
#定时任务
tail -1 /etc/crontab 0 1 * * * root /usr/bin/python /data/report_job/behaviorLogs/Merge_log.py
本文出自 “wsyht90的博客” 博客,请务必保留此出处http://wsyht90.blog.51cto.com/9014030/1883482
以上是关于LInux服务器游戏日志合并的主要内容,如果未能解决你的问题,请参考以下文章
ELK之三-----JAVA日志多行合并tomcat json日志收集与处理
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情