def __call__(self, download_path, target, debug=False, log=None, force=False): if log is None: log = lambda s: None if self.time: opts = [("restore-time", self.time)] else: opts = [] if iamroot(): log("// started squid: caching downloaded backup archives to " + self.cache_dir + "\n") squid = Squid(self.cache_size, self.cache_dir) squid.start() orig_env = os.environ.get('http_proxy') os.environ['http_proxy'] = squid.address _raise_rlimit(resource.RLIMIT_NOFILE, RLIMIT_NOFILE_MAX) args = ['--s3-unencrypted-connection', target.address, download_path] if force: args = ['--force'] + args command = Duplicity(opts, *args) log("# " + str(command)) command.run(target.secret, target.credentials, debug=debug) if iamroot(): if orig_env: os.environ['http_proxy'] = orig_env else: del os.environ['http_proxy'] log("\n// stopping squid: download complete so caching no longer required\n" ) squid.stop() sys.stdout.flush()
def __call__(self, download_path, target, debug=False, log=None, force=False): if log is None: log = lambda s: None if self.time: opts = [("restore-time", self.time)] else: opts = [] if iamroot(): log("// started squid: caching downloaded backup archives to " + self.cache_dir + "\n") squid = Squid(self.cache_size, self.cache_dir) squid.start() orig_env = os.environ.get('http_proxy') os.environ['http_proxy'] = squid.address _raise_rlimit(resource.RLIMIT_NOFILE, RLIMIT_NOFILE_MAX) args = [ '--s3-unencrypted-connection', target.address, download_path ] if force: args = [ '--force' ] + args command = Duplicity(opts, *args) log("# " + str(command)) command.run(target.secret, target.credentials, debug=debug) if iamroot(): if orig_env: os.environ['http_proxy'] = orig_env else: del os.environ['http_proxy'] log("\n// stopping squid: download complete so caching no longer required\n") squid.stop() sys.stdout.flush()
def __init__(self, *args): """Duplicity command. The first member of args can be a an array of tuple arguments""" if isinstance(args[0], list): opts = args[0][:] args = args[1:] else: opts = [] if not args: raise Error("no arguments!") if iamroot(): opts += [('archive-dir', '/var/cache/duplicity')] opts = ["--%s=%s" % (key, val) for key, val in opts] self.command = ["duplicity"] + opts + list(args)
def __init__(self, *args): """Duplicity command. The first member of args can be a an array of tuple arguments""" if isinstance(args[0], list): opts = args[0][:] args = args[1:] else: opts = [] if not args: raise Error("no arguments!") if iamroot(): opts += [ ('archive-dir', '/var/cache/duplicity') ] opts = [ "--%s=%s" % (key, val) for key, val in opts ] self.command = ["duplicity"] + opts + list(args)