import os from subprocess import Popen, PIPE, check_call def init_repo(repository): run_command([ "restic", "-r", repository, "init", ]) def backup_volume(repository, volume): run_command([ "restic", "-r", repository, "--verbose", "backup", volume.destination, ]) def snapshots(repository): run_command([ "restic", "-r", repository, "snapshots", ]) def check(repository): run_command([ "restic", "-r", repository, "check", ]) def run_command(cmd): child = Popen(cmd, stdout=PIPE, stderr=PIPE) stdoutdata, stderrdata = child.communicate() if stdoutdata: print(stdoutdata.decode()) if stderrdata: print(stderrdata.decode())