############################ 需求 ############################
1、把Sock1服务器的日志和Sock2服务器的日志合并到Sock2指定目录中
2、每天凌晨一点合并,合并的日志文件名为yymmdd
3、超过七天的日志自动删除
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