aboutsummaryrefslogtreecommitdiff
path: root/rtr-origin/rtr-origin.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2009-05-11 03:42:53 +0000
committerRob Austein <sra@hactrn.net>2009-05-11 03:42:53 +0000
commit5d2624071ce7117b859ce829a2837a26ef138f39 (patch)
treeabdf01b1b6c8689b36596a286c22ca20e0aaa712 /rtr-origin/rtr-origin.py
parent8d7e1692a4206408e88189709de9a66bc4723f35 (diff)
Add code to clean up old AXFR and IXFR dumps.
svn path=/rtr-origin/rtr-origin.py; revision=2421
Diffstat (limited to 'rtr-origin/rtr-origin.py')
-rw-r--r--rtr-origin/rtr-origin.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/rtr-origin/rtr-origin.py b/rtr-origin/rtr-origin.py
index 2d266720..c2adebd1 100644
--- a/rtr-origin/rtr-origin.py
+++ b/rtr-origin/rtr-origin.py
@@ -775,12 +775,23 @@ def cronjob_main(argv):
if len(argv) != 1:
raise RuntimeError, "Expected one argument, got %s" % argv
+ old_ixfrs = glob.glob("*.ix.*")
+
+ cutoff = rpki.sundial.now() - rpki.sundial.timedelta(days = 1)
+ for f in glob.iglob("*.ax"):
+ t = rpki.sundial.datetime.utcfromtimestamp(os.stat(f).st_mtime)
+ if t < cutoff:
+ print "# Deleting old file %s, timestamp %s" % (f, t)
+ os.unlink(f)
+
pdus = axfr_set.parse_rcynic(argv[0])
pdus.save_axfr()
for axfr in glob.glob("*.ax"):
pdus.save_ixfr(axfr_set.load(axfr))
pdus.mark_current()
+ print "# New serial is %s" % pdus.serial
+
msg = "Good morning, serial %s is ready" % pdus.serial
sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
for name in glob.iglob("%s.*" % kickme_base):
@@ -791,6 +802,10 @@ def cronjob_main(argv):
print "# Failed to kick %s" % name
sock.close()
+ for f in old_ixfrs:
+ print "# Deleting old file %s" % f
+ os.unlink(f)
+
def show_main(argv):
"""Main program for show mode. Just displays current AXFR and IXFR dumps"""
if argv: