This commit is contained in:
2023-11-13 00:52:45 +01:00
parent d4b3003693
commit 973d5487a0

10
main.py
View File

@@ -1,6 +1,6 @@
import os.path import os.path
import docker import docker
import restic import socket
import yaml import yaml
import configparser import configparser
import argparse import argparse
@@ -98,12 +98,11 @@ def restic_backup(dirpath: str, tagslist: list = None):
arguments.sshfolder: {'bind': '/root/.ssh', 'mode': 'ro'}, arguments.sshfolder: {'bind': '/root/.ssh', 'mode': 'ro'},
arguments.passwordfile: {'bind': "/repopassword", 'mode': 'ro'}} arguments.passwordfile: {'bind': "/repopassword", 'mode': 'ro'}}
command = f"backup {dryrun} {tagscommand} '{dirpath}'" command = f"backup {dryrun} {tagscommand} '{dirpath}'"
hostname = "restic"
environment = ["RESTIC_PASSWORD_FILE=/repopassword", environment = ["RESTIC_PASSWORD_FILE=/repopassword",
f"RESTIC_REPOSITORY={repo}"] f"RESTIC_REPOSITORY={repo}"]
dockerhost.containers.run("restic/restic", command=command, environment=environment, dockerhost.containers.run("restic/restic", command=command, environment=environment,
volumes=volumes, remove=True, hostname=hostname) volumes=volumes, remove=True, hostname=socket.gethostname())
def yaml_to_services_list(filepath: str) -> dict|None: def yaml_to_services_list(filepath: str) -> dict|None:
@@ -199,7 +198,10 @@ def backup_services(servicename: str, servicesdict: dict, composefilepath: str)
if len(servicesdict[servicename]["must_before"]): if len(servicesdict[servicename]["must_before"]):
for dependencie in servicesdict[servicename]["must_before"]: for dependencie in servicesdict[servicename]["must_before"]:
backup_services(dependencie, servicesdict, composefilepath) if arguments.bindexclude not in ("", None) and dependencie.find(arguments.bindexclude) != -1:
continue
elif arguments.bindinclude not in ("", None) and dependencie.find(arguments.bindinclude):
backup_services(dependencie, servicesdict, composefilepath)
# TODO: faire la sauvegarde # TODO: faire la sauvegarde
for containerid in containersid: for containerid in containersid: