76a0768fdb
Forget against an --append-only rest-server fails every night (delete ops blocked). The resulting daily failure cluttered service status and logs without ever actually retiring old snapshots. Schedule is now removed from the forget block in all six profiles; the keep-daily / keep-weekly / keep-monthly / keep-yearly policy remains so manual invocations (during prune ceremonies, when --append-only is temporarily off) honor the intended retention. Files: configs/restic/ana-docker/profiles.yaml configs/restic/ana-ml2/profiles.yaml configs/restic/nh3-docker/profiles.yaml configs/restic/esh-docker-vm/profiles.yaml configs/restic/vm-esh-nas/profiles.yaml configs/restic/nh3-dev/profiles.yaml Each file has an inline comment marking why the schedule was dropped so a future reader doesn't re-add it thinking it was an oversight. STATUS.md: removed the "install Backrest nightly-restart timer" line item. User confirmed the UI timeout hits even at startup, so periodic restart wouldn't actually help. Root cause remains deferred.
94 lines
2.9 KiB
YAML
94 lines
2.9 KiB
YAML
# resticprofile config for esh-docker-vm.
|
|
#
|
|
# ESH home-lab Docker host — VM on esh-pve. Covered by vzdump at the
|
|
# hypervisor (3/3 on esh-pve after the VM 108 retirement), and by this
|
|
# file-level restic for fast per-file restore + app-consistent DB dumps.
|
|
#
|
|
# Writes cross-site to rest-server-ana (10.250.50.70:8000/esh-docker-vm/)
|
|
# because the ESH site has no local rest-server.
|
|
#
|
|
# Multiple DB-bearing services live here (see pre-backup.sh). Several
|
|
# containers don't bundle sqlite3, so the pre-backup script runs
|
|
# sqlite3 and pg_dump from the HOST against volume bind-mount paths
|
|
# (simpler than building custom container images).
|
|
|
|
version: "1"
|
|
|
|
global:
|
|
priority: low
|
|
ionice: true
|
|
ionice-class: 2
|
|
ionice-level: 7
|
|
min-memory: 100
|
|
|
|
default:
|
|
env-file: /etc/restic/restic.env
|
|
env:
|
|
RESTIC_PASSWORD_FILE: /etc/restic/password
|
|
initialize: false
|
|
lock: /var/lock/restic-esh-docker-vm.lock
|
|
|
|
backup:
|
|
verbose: 1
|
|
run-before:
|
|
- /etc/restic/pre-backup.sh
|
|
run-after:
|
|
- date +%s > /var/lib/restic/last-success
|
|
source:
|
|
- /opt/docker # compose files + bind-mount conf (~12 MB)
|
|
- /etc # host config
|
|
- /root # root's ad-hoc scripts, ssh keys, history
|
|
- /home # user home dirs
|
|
- /var/lib/docker/volumes # HA, paperless, pgadmin, CWA, dockge, etc.
|
|
- /var/lib/restic/stage # DB dumps produced by pre-backup.sh
|
|
exclude:
|
|
# CRITICAL: NFS mounts from 10.0.50.50 — hundreds of GB / TB at least.
|
|
# /mnt/backup specifically holds offen-sidecar tarballs which are
|
|
# redundant once restic is authoritative.
|
|
- /mnt/backup
|
|
- /mnt/books
|
|
- /mnt/compose
|
|
- /mnt/documents
|
|
# Docker internals
|
|
- /var/lib/docker/volumes/backingFsBlockDev
|
|
- /var/lib/docker/volumes/metadata.db
|
|
# Offen sidecar's buffer / tmp (if any left behind)
|
|
- /var/lib/docker/volumes/*_offen_backup_data
|
|
# Ephemeral / regenerable
|
|
- /opt/docker/compose/*/logs
|
|
- "**/*.log"
|
|
- "**/*.log.*"
|
|
- "**/*.pid"
|
|
# Per-user shell / app noise
|
|
- /root/.cache
|
|
- /root/.local/share/Trash
|
|
- /root/.python_history
|
|
- /home/*/.cache
|
|
- /home/*/.local/share/Trash
|
|
- /home/*/.npm
|
|
- /home/*/.mozilla/firefox/*/Cache
|
|
tag:
|
|
- host:esh-docker-vm
|
|
- site:esh
|
|
- fleet:home-lab
|
|
schedule: "*-*-* 01:00:00"
|
|
schedule-permission: system
|
|
schedule-log: /var/log/restic-backup.log
|
|
|
|
forget:
|
|
keep-daily: 7
|
|
keep-weekly: 4
|
|
keep-monthly: 12
|
|
keep-yearly: 3
|
|
tag:
|
|
- host:esh-docker-vm
|
|
# Schedule removed 2026-04-21: forget against --append-only rest-server
|
|
# always fails (delete ops blocked). Run manually during the prune
|
|
# ceremony when --append-only is temporarily off.
|
|
|
|
check:
|
|
read-data-subset: 10%
|
|
schedule: "Sun *-*-* 05:00:00"
|
|
schedule-permission: system
|
|
schedule-log: /var/log/restic-check.log
|