From 62d4fe4ec21ddd35ef6ad276f38a62c0eb8755a4 Mon Sep 17 00:00:00 2001 From: Djeex Date: Wed, 9 Sep 2026 13:41:47 +0200 Subject: [PATCH] Explain and let readers tune the Snapper timeline snapshot frequency --- .../3.serveex/91.advanced/4.btrfs-snapshots.md | 18 ++++++++++++++++++ .../3.serveex/91.advanced/4.btrfs-snapshots.md | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/content/en/3.serveex/91.advanced/4.btrfs-snapshots.md b/content/en/3.serveex/91.advanced/4.btrfs-snapshots.md index 9d72b51..b1448ed 100644 --- a/content/en/3.serveex/91.advanced/4.btrfs-snapshots.md +++ b/content/en/3.serveex/91.advanced/4.btrfs-snapshots.md @@ -72,6 +72,24 @@ Then enable the timers that run Snapper's periodic snapshots and cleanup: sudo systemctl enable --now snapper-timeline.timer snapper-cleanup.timer ``` +`snapper-timeline.timer` fires **every hour** by default, that's fixed by the unit itself, not by a config option. Each run takes one snapshot and files it under the appropriate bucket (hourly, daily, monthly, yearly); the `TIMELINE_LIMIT_*` settings covered further down only control how many of each bucket survive, not how often a snapshot is taken. `snapper-cleanup.timer` runs once a day (plus once 10 minutes after boot) to enforce those limits. + +::tip +✨ To take timeline snapshots at a different frequency, for example every 6 hours instead of every hour, override the timer instead of editing the package's unit file directly: + +```bash [Terminal] +sudo systemctl edit snapper-timeline.timer +``` + +```ini [override.conf] +[Timer] +OnCalendar= +OnCalendar=*-*-* 0/6:00:00 +``` + +The empty `OnCalendar=` line clears the packaged `hourly` value first, since systemd otherwise adds new `OnCalendar` lines to the existing ones instead of replacing them. Apply it with `sudo systemctl daemon-reload && sudo systemctl restart snapper-timeline.timer`. +:: + ::note Debian's package also ships an APT hook (`/etc/apt/apt.conf.d/80snapper`) that kicks in the moment a config is listed in `SNAPPER_CONFIGS`: from now on, every `apt install`, `apt upgrade` or `apt full-upgrade` automatically gets a snapshot right before and right after it runs, with zero extra effort on your part. diff --git a/content/fr/3.serveex/91.advanced/4.btrfs-snapshots.md b/content/fr/3.serveex/91.advanced/4.btrfs-snapshots.md index 5337fa6..32eecb3 100644 --- a/content/fr/3.serveex/91.advanced/4.btrfs-snapshots.md +++ b/content/fr/3.serveex/91.advanced/4.btrfs-snapshots.md @@ -72,6 +72,24 @@ Puis activez les timers qui exécutent les snapshots périodiques et le nettoyag sudo systemctl enable --now snapper-timeline.timer snapper-cleanup.timer ``` +`snapper-timeline.timer` se déclenche **toutes les heures** par défaut, c'est fixé par l'unité elle-même, pas par une option de configuration. Chaque exécution prend un snapshot et le range dans la bonne catégorie (horaire, quotidien, mensuel, annuel) ; les réglages `TIMELINE_LIMIT_*` vus plus bas ne contrôlent que combien de snapshots de chaque catégorie survivent, pas la fréquence à laquelle ils sont pris. `snapper-cleanup.timer` tourne une fois par jour (plus une fois 10 minutes après le démarrage) pour appliquer ces limites. + +::tip +✨ Pour prendre des snapshots de chronologie à une fréquence différente, par exemple toutes les 6 heures plutôt que toutes les heures, surchargez le timer plutôt que de modifier directement le fichier d'unité du paquet : + +```bash [Terminal] +sudo systemctl edit snapper-timeline.timer +``` + +```ini [override.conf] +[Timer] +OnCalendar= +OnCalendar=*-*-* 0/6:00:00 +``` + +La ligne `OnCalendar=` vide efface d'abord la valeur `hourly` du paquet, puisque systemd ajoute sinon les nouvelles lignes `OnCalendar` à celles déjà présentes au lieu de les remplacer. Appliquez avec `sudo systemctl daemon-reload && sudo systemctl restart snapper-timeline.timer`. +:: + ::note Le paquet Debian embarque aussi un hook APT (`/etc/apt/apt.conf.d/80snapper`) qui s'active dès qu'une configuration figure dans `SNAPPER_CONFIGS` : à partir de maintenant, chaque `apt install`, `apt upgrade` ou `apt full-upgrade` obtient automatiquement un snapshot juste avant et juste après son exécution, sans aucun effort de votre part.