mirror of
https://github.com/netinvent/npbackup.git
synced 2025-10-12 22:46:40 +08:00
Catch error when backend cannot be created
This commit is contained in:
parent
f58af9c3e2
commit
d58400de62
5 changed files with 23 additions and 8 deletions
|
@ -403,10 +403,13 @@ This is free software, and you are welcome to redistribute it under certain cond
|
||||||
if args.dry_run:
|
if args.dry_run:
|
||||||
dry_run = True
|
dry_run = True
|
||||||
|
|
||||||
npbackup_runner = NPBackupRunner(config_dict=config_dict)
|
try:
|
||||||
npbackup_runner.dry_run = dry_run
|
npbackup_runner = NPBackupRunner(config_dict=config_dict)
|
||||||
npbackup_runner.verbose = _VERBOSE
|
npbackup_runner.dry_run = dry_run
|
||||||
logger.info("Backend: {}".format(npbackup_runner.backend_version))
|
npbackup_runner.verbose = _VERBOSE
|
||||||
|
logger.info("Backend: {}".format(npbackup_runner.backend_version))
|
||||||
|
except ValueError:
|
||||||
|
logger.critical("Cannot create backend")
|
||||||
|
|
||||||
if args.check:
|
if args.check:
|
||||||
if npbackup_runner.check_recent_backups():
|
if npbackup_runner.check_recent_backups():
|
||||||
|
|
|
@ -124,7 +124,8 @@ class NPBackupRunner:
|
||||||
|
|
||||||
self.is_ready = False
|
self.is_ready = False
|
||||||
# Create an instance of restic wrapper
|
# Create an instance of restic wrapper
|
||||||
self.create_restic_runner()
|
if not self.create_restic_runner():
|
||||||
|
raise ValueError("Cannot create backend runner")
|
||||||
# Configure that instance
|
# Configure that instance
|
||||||
self.apply_config_to_restic_runner()
|
self.apply_config_to_restic_runner()
|
||||||
|
|
||||||
|
@ -219,7 +220,7 @@ class NPBackupRunner:
|
||||||
can_run = False
|
can_run = False
|
||||||
self.is_ready = can_run
|
self.is_ready = can_run
|
||||||
if not can_run:
|
if not can_run:
|
||||||
return
|
return None
|
||||||
self.restic_runner = ResticRunner(
|
self.restic_runner = ResticRunner(
|
||||||
repository=repository,
|
repository=repository,
|
||||||
password=password,
|
password=password,
|
||||||
|
@ -385,6 +386,7 @@ class NPBackupRunner:
|
||||||
# Preflight checks
|
# Preflight checks
|
||||||
try:
|
try:
|
||||||
paths = self.config_dict["backup"]["paths"]
|
paths = self.config_dict["backup"]["paths"]
|
||||||
|
paths = [path.strip() for path in paths]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
logger.error("No backup paths defined.")
|
logger.error("No backup paths defined.")
|
||||||
return False
|
return False
|
||||||
|
@ -393,6 +395,10 @@ class NPBackupRunner:
|
||||||
try:
|
try:
|
||||||
if not isinstance(paths, list):
|
if not isinstance(paths, list):
|
||||||
paths = [paths]
|
paths = [paths]
|
||||||
|
for path in paths:
|
||||||
|
if path == self.config_dict["repo"]["repository"]:
|
||||||
|
logger.critical("Rayan error 40: You cannot backup destination in destination path. No inception allowed !")
|
||||||
|
return False
|
||||||
except KeyError:
|
except KeyError:
|
||||||
logger.error("No backup source path given.")
|
logger.error("No backup source path given.")
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -145,7 +145,11 @@ def get_gui_data(config_dict: dict) -> Tuple[bool, List[str]]:
|
||||||
except KeyError:
|
except KeyError:
|
||||||
sg.Popup(_t("main_gui.repository_not_configured"))
|
sg.Popup(_t("main_gui.repository_not_configured"))
|
||||||
return None, None
|
return None, None
|
||||||
runner = NPBackupRunner(config_dict=config_dict)
|
try:
|
||||||
|
runner = NPBackupRunner(config_dict=config_dict)
|
||||||
|
except ValueError:
|
||||||
|
sg.Popup(_t("config_gui.no_runner"))
|
||||||
|
return None, None
|
||||||
if not runner.has_binary:
|
if not runner.has_binary:
|
||||||
sg.Popup(_t("config_gui.no_binary"))
|
sg.Popup(_t("config_gui.no_binary"))
|
||||||
return None, None
|
return None, None
|
||||||
|
|
|
@ -47,7 +47,8 @@ en:
|
||||||
environment_variables: Environment variables
|
environment_variables: Environment variables
|
||||||
format_equals: Format variable=value
|
format_equals: Format variable=value
|
||||||
|
|
||||||
np_binary: Cannot find backup backend. Please install restic binary from restic.net
|
no_runner: Cannot connect to backend. Please see logs
|
||||||
|
no_binary: Cannot find backup backend. Please install restic binary from restic.net
|
||||||
|
|
||||||
configuration_saved: Configuration saved
|
configuration_saved: Configuration saved
|
||||||
cannot_save_configuration: Could not save configuration. See logs for further info
|
cannot_save_configuration: Could not save configuration. See logs for further info
|
||||||
|
|
|
@ -47,6 +47,7 @@ fr:
|
||||||
environment_variables: Variables d'environnement
|
environment_variables: Variables d'environnement
|
||||||
format_equals: Format variable=valeur
|
format_equals: Format variable=valeur
|
||||||
|
|
||||||
|
no_runner: Impossible de se connecter au backend. Verifier les logs
|
||||||
no_binary: Impossible de trouver le coeur de sauvegarde. Merci d'installer le binaire restic depuis restic.net
|
no_binary: Impossible de trouver le coeur de sauvegarde. Merci d'installer le binaire restic depuis restic.net
|
||||||
|
|
||||||
configuration_saved: Configuration sauvegardée
|
configuration_saved: Configuration sauvegardée
|
||||||
|
|
Loading…
Add table
Reference in a new issue