diff --git a/share/actionsmap.yml b/share/actionsmap.yml index 415c3ce49..062ec782c 100644 --- a/share/actionsmap.yml +++ b/share/actionsmap.yml @@ -1290,8 +1290,8 @@ backup: help: Show more details action: store_true - ### backup_timer_add() - add: + ### backup_timer_create() + create: action_help: Add a backup timer api: POST /backup/timer/ arguments: @@ -1382,13 +1382,26 @@ backup: extra: pattern: *pattern_backup_timer_name - ### backup_timer_run() - run: - action_help: Run a backup timer - api: POST /backup/timer//run + ### backup_timer_start() + start: + action_help: Start a backup timer + api: POST /backup/timer//start arguments: name: - help: Backup timer to run + help: Backup timer to start + extra: + pattern: *pattern_backup_timer_name + --now: + help: Trigger a backup immediately + action: store_true + + ### backup_timer_pause() + pause: + action_help: Pause a backup timer + api: POST /backup/timer//pause + arguments: + name: + help: Backup timer to pause extra: pattern: *pattern_backup_timer_name diff --git a/share/config_backup_timer.toml b/share/config_backup_timer.toml index 479cc255a..27720bec5 100644 --- a/share/config_backup_timer.toml +++ b/share/config_backup_timer.toml @@ -14,7 +14,7 @@ name.en = "" [main.main.repositories] type = "tags" visible = "creation" - default = "no" + default = [] [main.main.system] type = "tags" diff --git a/src/backup.py b/src/backup.py index 74bedff52..e394c5a42 100644 --- a/src/backup.py +++ b/src/backup.py @@ -2116,10 +2116,9 @@ Group=root self._run_service_command("stop") self._run_service_command("disable") - def run(self, operation_logger): + def run(self): self._load_current_values() backup_create( - operation_logger, name=self.entity, description=self.description, repositories=self.repositories, @@ -2128,7 +2127,6 @@ Group=root ) for repository in self.repositories: backup_repository_prune( - operation_logger, shortname=repository, prefix=self.entity, keep_hourly=self.keep_hourly, @@ -2150,7 +2148,7 @@ def backup_timer_info(name): @is_unit_operation() -def backup_timer_add( +def backup_timer_create( operation_logger, name=None, description=None, @@ -2196,11 +2194,21 @@ def backup_timer_remove(operation_logger, name): @is_unit_operation() -def backup_timer_run(operation_logger, name): +def backup_timer_start(operation_logger, name, now=False): """ - Run a backup timer + Start a backup timer """ - BackupTimer(name).run(operation_logger) + if now: + BackupTimer(name).run() + + BackupTimer(name).start() + +@is_unit_operation() +def backup_timer_pause(operation_logger, name): + """ + Pause a backup timer + """ + BackupTimer(name).stop() #