3 # Utility for managing LBS archives.
6 from optparse import OptionParser
9 parser = OptionParser(usage="%prog [option]... command [arg]...")
10 parser.add_option("-v", action="store_true", dest="verbose", default=False,
11 help="increase verbosity")
12 parser.add_option("--localdb", dest="localdb",
13 help="specify path to local database")
14 (options, args) = parser.parse_args(sys.argv[1:])
16 # Run the segment cleaner.
17 # Syntax: $0 --localdb=LOCALDB clean
18 def cmd_clean(clean_threshold=7.0):
19 db = lbs.LocalDatabase(options.localdb)
21 # Delete old snapshots from the local database.
24 # Expire segments which are poorly-utilized.
25 for s in db.get_segment_cleaning_list():
26 if s.cleaning_benefit > clean_threshold:
27 print "Cleaning segment %d (benefit %.2f)" % (s.id,
29 db.mark_segment_expired(s)
32 db.balance_expired_objects()
43 print "Unknown command:", cmd