feat(backup): per-job schedules, stale-lock recovery, service manifests

- Add per-job `schedule` (systemd OnCalendar) overrides and document the
  global `backup_schedule` / `backup_randomized_delay` knobs.
- Run `restic unlock` before backup/forget/check so a run killed mid-flight
  no longer wedges every later run on a stale exclusive lock.
- Publish backup manifests for fdroid, immich and unifi, so the inventory
  decides only where (repositories, retention, schedule).
- Document that `read_data_subset` re-reads on every job targeting the
  repository, so a large repository wants a small fraction.
This commit is contained in:
Clément Désiles
2026-09-10 16:47:33 +02:00
parent f6c4d36bbe
commit 0ec6224941
7 changed files with 44 additions and 3 deletions
+3 -2
View File
@@ -85,8 +85,8 @@ backup_repositories:
# password: "{{ vault_backup_usb_password }}"
# retention:
# keep_weekly: 12
# notify:
# topic: backups-reminders # low-priority reminder, not an alarm
# notify:
# topic: backups-reminders # low-priority reminder, not an alarm
backup_jobs:
- name: ntfy
@@ -94,6 +94,7 @@ backup_jobs:
paths: "{{ ntfy_backup_paths }}"
exclude: "{{ ntfy_backup_exclude }}"
sqlite: "{{ ntfy_backup_sqlite }}"
schedule: "*-*-* 03:00:00" # OnCalendar; omit to use the global backup_schedule
```
Generate the repository password and **store it outside this repository and outside the machine being backed up**: