]>
Commit | Line | Data |
---|---|---|
562fda3a JP |
1 | #!/usr/bin/python |
2 | ||
3 | import os, re, sys | |
4 | from time import strptime | |
5 | from glob import glob | |
6 | ||
7 | PATH = os.path.abspath(sys.argv[1]) | |
8 | backups = glob('%s/weekly/*.gz' % PATH) | |
9 | backups.sort() | |
10 | backups.reverse() | |
11 | backups = [[x, re.match('.*(\d\d\d\d-\d\d-\d\d).*', x)] for x in backups] | |
12 | backups = [[x[0], strptime(x[1].groups()[0], '%Y-%m-%d')] for x in backups] | |
13 | ||
cd14464c JP |
14 | keep = backups[:2] |
15 | backups = backups[2:] | |
562fda3a JP |
16 | monthlys = {} |
17 | for x in backups: | |
18 | month = (x[1].tm_year, x[1].tm_mon) | |
19 | if month not in monthlys: | |
20 | monthlys[month] = x | |
cd14464c | 21 | if len(monthlys) > 3: |
562fda3a JP |
22 | break |
23 | keep.extend(monthlys.values()) | |
24 | ||
25 | for x in backups: | |
26 | if not x in keep: | |
27 | print 'rm %s' % x[0] | |
28 | else: | |
29 | print '# keeping %s' % x[0] |