############################ 需求 ############################ 

1、把Sock1服务器的日志和Sock2服务器的日志合并到Sock2指定目录中

2、每天凌晨一点合并,合并的日志文件名为yymmdd

3、超过七天的日志自动删除

LInux服务器游戏日志合并_日志


Sock1配置

cat /tmp/rsync.py
#!/usr/bin/env python
#coding:utf-8

import os,datetime

ONE=datetime.datetime.now() - datetime.timedelta(days=1)
BEFORE_LOG_NAME='behavior_'
MIDDLE_LOG_NAME=ONE.strftime('%Y-%m-%d')
REAR_LOG_NAME='.log'
BACKUP_LOG_NAME=BEFORE_LOG_NAME+MIDDLE_LOG_NAME+REAR_LOG_NAME
print BACKUP_LOG_NAME

for i in range(1,6):
    os.system('rsync -avzP /data/workspace%s/log/%s  tzyx@10.9.109.233:/tmp/backup_%s' % (i,BACKUP_LOG_NAME,i))


#定时任务

crontabl -l
59 0 * * * /usr/bin/python /tmp/rsync.py


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_TIME=ONE.strftime('%Y%m%d')
    BEFORE_TIME=TOW.strftime('%Y%m%d')
    BEFORE_LOG_NAME='behavior_'
    MIDDLE_LOG_NAME=ONE.strftime('%Y-%m-%d')
    REAR_LOG_NAME='.log'
    BACKUP_LOG_NAME=BEFORE_LOG_NAME+MIDDLE_LOG_NAME+REAR_LOG_NAME

    #开始合并日志
    for i in range(1,6):
        try:
            os.system('cat /tmp/backup_%s >> /data/Logs/%s' % (i,NOW_TIME))
            os.system('cat /data/workspace%s/log/%s >> /data/Logs/%s' % (i,BACKUP_LOG_NAME,NOW_TIME))
        except Exception,e:
            os.system('echo "###### %s Merge log fail ######" >> /data/Logs/Merge_records' % NOW_TIME)
        else:
            os.system('echo "###### %s Merge log success ######" >> /data/Logs/Merge_records' % NOW_TIME)

    #删除超过七天的合并日志
    a=os.chdir('/data/Logs/')
    r=os.popen('ls')
    info=r.readlines()
    for i in info:
        i=i.strip('\n')
        if BEFORE_TIME > i:
            os.system('rm -rf %s' % i)

    #日志文件空行换行
    os.system('echo >> /data/Logs/Merge_records')

if __name__=='__main__':
    Merge_log()


#定时任务

tail -1 /etc/crontab
0 1 * * * root /usr/bin/python /data/Logs/Merge_log.py