############################ 需求 ############################
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