def run(self, cmd, opts, *backups): error = 0 if not backups: LOG.info("No backupsets specified - using backupsets from %s", hollandcfg.filename) backups = hollandcfg.lookup('holland.backupsets') if not backups: LOG.warn("Nothing to purge") return 0 if not opts.force: LOG.warn( "Running in dry-run mode. Use --execute to do a real purge.") for name in backups: if '/' not in name: backupset = spool.find_backupset(name) if not backupset: LOG.error("Failed to find backupset '%s'", name) error = 1 continue purge_backupset(backupset, opts.force, opts.all) else: backup = spool.find_backup(name) if not backup: LOG.error("Failed to find single backup '%s'", name) error = 1 continue purge_backup(backup, opts.force) if opts.force: spool.find_backupset(backup.backupset).update_symlinks() return error
def run(self, cmd, opts, *backups): error = 0 if not backups: LOG.info("No backupsets specified - using backupsets from %s", hollandcfg.filename) backups = hollandcfg.lookup('holland.backupsets') if not backups: LOG.warn("Nothing to purge") return 0 if not opts.force: LOG.warn("Running in dry-run mode. Use --execute to do a real purge.") for name in backups: if '/' not in name: backupset = spool.find_backupset(name) if not backupset: LOG.error("Failed to find backupset '%s'", name) error = 1 continue purge_backupset(backupset, opts.force, opts.all) else: backup = spool.find_backup(name) if not backup: LOG.error("Failed to find single backup '%s'", name) error = 1 continue purge_backup(backup, opts.force) if opts.force: spool.find_backupset(backup.backupset).update_symlinks() return error
def run(self, cmd, opts, backup_name, *restore_options): backup = spool.find_backup(backup_name) if not backup: logging.error("No backup found named %s", backup_name) return 1 config = backup.config plugin_name = config.get('holland:backup', {}).get('plugin') plugin = load_first_entrypoint('holland.restore', plugin_name)(backup) plugin.dispatch([plugin_name] + list(restore_options)) return 1
def run(self, cmd, opts, *backups): if not backups: self._purge_all(opts) else: bks = [] for backup in backups: bk = spool.find_backup(backup) if bk is None: print >>sys.stderr, "Did not find backup called %s" % \ backup else: print "Found backup: %s\n" % bk bks.append(bk) if not bks: return 1 if opts.dry_run: for bk in bks: print "[Dry-run] Purging %s [%s]" % (bk, bk.path) return 0 else: if not opts.force: print "The following backups will be purged:\n" for bk in bks: print "%s\n" % bk print "This will completely destroy data locally " + \ "on this server.\n" confirm = raw_input("Are you sure you want to do " + \ "this? [N/y] ") if confirm.lower() not in ['y', "yes", "ya", "yea", "hell yea"]: return 1 print "" for bk in bks: print "Purging %s\n" % bk bk.purge()