0
|
1 |
#!/usr/bin/python
|
|
2 |
|
|
3 |
# It compares 'du' outputs from different dates, and shows the differences
|
|
4 |
# in size between them.
|
|
5 |
#
|
|
6 |
# It output 4 columns: Change, Inc/decrement, Last size, Directory name
|
|
7 |
# Change can be of 4 types:
|
|
8 |
# * +, it means "increment in size"
|
|
9 |
# * -, it means "decrement in size"
|
|
10 |
# * N+, it means new directory, incrementing in size
|
|
11 |
# * D-, it means deleted directory, decrementing in size
|
|
12 |
|
|
13 |
import sys,string
|
|
14 |
|
|
15 |
if len(sys.argv) != 3:
|
|
16 |
print "Wrong number of arguments."
|
|
17 |
sys.exit()
|
|
18 |
|
|
19 |
|
|
20 |
du_first = open(sys.argv[1],"r")
|
|
21 |
du_second = open (sys.argv[2],"r")
|
|
22 |
|
|
23 |
usage_first= {}
|
|
24 |
|
|
25 |
for line in du_first:
|
|
26 |
elements = line.rstrip().split("\t",1)
|
|
27 |
usage_first[elements[1]] = int(elements[0])
|
|
28 |
|
|
29 |
du_first.close()
|
|
30 |
|
|
31 |
|
|
32 |
usage_second = usage_first
|
|
33 |
for line in du_second:
|
|
34 |
elements = line.rstrip().split("\t",1)
|
|
35 |
elements[0] = int(elements[0])
|
|
36 |
if usage_first.has_key(elements[1]):
|
|
37 |
if usage_first[elements[1]] > elements[0]:
|
|
38 |
print "-\t%d\t%d\t%s" % ( usage_first[elements[1]] - elements[0],elements[0], elements[1] )
|
|
39 |
elif usage_first[elements[1]] < elements[0]:
|
|
40 |
print "+\t%d\t%d\t%s" % ( elements[0] - usage_first[elements[1]], elements[0], elements[1] )
|
|
41 |
|
|
42 |
del usage_second[elements[1]]
|
|
43 |
else:
|
|
44 |
print "N+\t%d\t%d\t%s" % ( elements[0] , elements[0] ,elements[1] )
|
|
45 |
|
|
46 |
du_second.close()
|
|
47 |
for key in usage_second.keys():
|
|
48 |
print "D-\t%d\t%d\t%s" % ( usage_second[key] , usage_second[key], key )
|
|
49 |
|