-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathlogmanager.py
More file actions
52 lines (45 loc) · 2 KB
/
Copy pathlogmanager.py
File metadata and controls
52 lines (45 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# -*- coding: utf-8 -*-
import os
import os.path
import sys
import time
def removeFile(targetDir, targetPrefix):
timestring = time.strftime("%Y%m%d", (time.localtime(time.time()-3*86400)));
deletetime = int(timestring)*100
for filename in os.listdir(targetDir):
targetFile = os.path.join(targetDir, filename)
if os.path.isfile(targetFile):
spilt_filename = filename.split(targetPrefix)
if len(spilt_filename) == 2 and int(spilt_filename[1]) < deletetime:
os.remove(targetFile)
print "delete %s" % (targetFile,)
def renameFile(targetDir, targetName):
dstString = targetName + "." + time.strftime("%Y%m%d%H");
for filename in os.listdir(targetDir):
if targetName == filename:
srcFile = os.path.join(targetDir, filename)
dstFile = os.path.join(targetDir, dstString)
if os.path.isfile(srcFile):
print "'%s' rename to '%s'" % (srcFile, dstFile,)
os.rename(srcFile, dstFile)
break
def printHelp():
print "--- remove ---"
print "python logmanager.py remove dir fileprefix"
print "只保留4天之内的日志,比如log/下有很多日志文件,如ciqueue.log.2011081521"
print "执行 python logmanager.py remove log 'ciqueue.log.' 即可删除4天前的日志,保留今天在内的4天日志"
print "--- rename ---"
print "python logmanager.py rename dir filename"
print "用于日志切分,比如log/下有日志文件sdk.log,需要切分为sdk.log.YYYYMMDDHH,如sdk.log.2011081521"
print "执行 python logmanager.py rename log 'sdk.log' 即可切割为当前的sdk.log.YYYYMMDDHH"
if __name__ == "__main__":
if len(sys.argv) != 4:
printHelp()
sys.exit(1)
if sys.argv[1] != "rename" and sys.argv[1] != "remove":
printHelp()
sys.exit(1)
if sys.argv[1] == "remove":
removeFile(sys.argv[2], sys.argv[3])
else:
renameFile(sys.argv[2], sys.argv[3])