def summary(): util.loadSnapshots() for name, place in sorted(config.places.items()): count = len(snapshots[name]) recent = sorted(snapshots[name].keys(), key=lambda i: int(i)).pop() print("{:<12s} {:>5d} snapshots {:<20s}".format( name, count, arrow.get(recent).humanize()))
def nuke(): util.loadSnapshots() snap = util.getSnapshot() if snap.hasTarsnap() == Snapshot.Status.complete or snap.hasTarsnap( ) == Snapshot.Status.partial: tarsnap.deleteSnap(snap) if snap.hasZFS() == Snapshot.Status.complete: zfs.deleteSnap(snap)
def list(): util.loadSnapshots() for name, place in sorted(config.places.items()): print("***** %s (%s) %s / %s" % (name, place.path, util.readableBytes( place.data_used), util.readableBytes(place.snap_used))) Snapshot.printHeader() for stamp in sorted(snapshots[name].keys(), key=lambda i: int(i)): snapshots[name][stamp].printListing()