2019-11-12 11:39:49 +00:00
|
|
|
from subprocess import Popen, PIPE
|
2019-04-13 17:04:54 +00:00
|
|
|
|
|
|
|
|
2019-04-13 18:12:25 +00:00
|
|
|
def init_repo(repository):
|
2019-04-13 17:04:54 +00:00
|
|
|
run_command([
|
|
|
|
"restic",
|
|
|
|
"-r",
|
2019-04-13 18:12:25 +00:00
|
|
|
repository,
|
2019-04-13 17:04:54 +00:00
|
|
|
"init",
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2019-04-13 18:12:25 +00:00
|
|
|
def backup_volume(repository, volume):
|
2019-04-13 17:04:54 +00:00
|
|
|
run_command([
|
|
|
|
"restic",
|
|
|
|
"-r",
|
2019-04-13 18:12:25 +00:00
|
|
|
repository,
|
2019-04-13 17:04:54 +00:00
|
|
|
"--verbose",
|
|
|
|
"backup",
|
|
|
|
volume.destination,
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2019-04-13 18:12:25 +00:00
|
|
|
def snapshots(repository):
|
2019-04-13 17:04:54 +00:00
|
|
|
run_command([
|
|
|
|
"restic",
|
|
|
|
"-r",
|
2019-04-13 18:12:25 +00:00
|
|
|
repository,
|
2019-04-13 17:04:54 +00:00
|
|
|
"snapshots",
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2019-04-13 18:12:25 +00:00
|
|
|
def check(repository):
|
2019-04-13 17:04:54 +00:00
|
|
|
run_command([
|
|
|
|
"restic",
|
|
|
|
"-r",
|
2019-04-13 18:12:25 +00:00
|
|
|
repository,
|
2019-04-13 17:04:54 +00:00
|
|
|
"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())
|