python通过定时任务记录tomcat日志

'''
@author: Jacobpc
'''
import os
import time
import datetime
import shutil
import threading

hours = 10
timeformat="%Y-%m-%d-%H"
basepath = "/home/tomcat/webapps/ROOT/log_"

def copylog():
   timenow = datetime.datetime.now().strftime(timeformat)
   print timenow

   targetfile=basepath+timenow+".log"
   print(os.path.exists(targetfile))
   srcfile="/home/tomcat/logs/catalina.out"

   if not os.path.exists(targetfile):
      shutil.copyfile(srcfile, targetfile)
      print "copy file from %s to %s"%(srcfile,targetfile)
   else:
      src=open(srcfile,"r+")
      tar=open(targetfile,"a+")
      tar.write(src.read())	
      tar.write("******************* copy new content --------------------\n\n\n")
      srcf = open(srcfile,"w")
      srcf.write("this is content is new write ,and time is "+timenow+" \n\n") 
   
   beforetime = beforeHours2Date(hours)
   oldfile = targetfile=basepath+beforetime+".log"
   if os.path.exists(oldfile):
       os.system("rm -rf "+oldfile)

def beforeHours2Date(hours, date_format=timeformat):
    hours = int(hours)
    t = time.time() - hours*60*60
    t = time.strftime(timeformat, time.localtime(t))
    return t

def starttimmer():
  copylog()
  global timer 
  timer = threading.Timer(600, starttimmer)
  timer.start()
 
   
timer = threading.Timer(2, starttimmer)
timer.start()




猜你喜欢

转载自blog.csdn.net/wangjia55/article/details/80401442
今日推荐