diff options
| author | Isabella Bastaja <isabella@sorre.xyz> | 2026-08-18 11:33:47 +0200 |
|---|---|---|
| committer | Isabella Bastaja <isabella@sorre.xyz> | 2026-08-18 11:36:31 +0200 |
| commit | ce38133328292ce9e44442a8021049fc8a322e95 (patch) | |
| tree | bc30781abf3780b434c5b90291f163b34887ccef /hosts/sagittarius/headscale.nix | |
| parent | da22d6cee806f90909356f34ce2b4ae4d3ce7e6b (diff) | |
headscale backup: only keep last five backups
Diffstat (limited to 'hosts/sagittarius/headscale.nix')
| -rw-r--r-- | hosts/sagittarius/headscale.nix | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/hosts/sagittarius/headscale.nix b/hosts/sagittarius/headscale.nix index 9a09590..05c5e5e 100644 --- a/hosts/sagittarius/headscale.nix +++ b/hosts/sagittarius/headscale.nix @@ -69,9 +69,17 @@ in ]; enableStrictShellChecks = true; script = '' + #!/usr/bin/env bash + set -euo pipefail + [ ! -d /var/lib/backup/headscale ] && mkdir -p /var/lib/backup/headscale TIMESTAMP="$(date +%Y%m%d%H%M%S)" tar cvf "/var/lib/backup/headscale/$TIMESTAMP.backup.tar" /var/lib/headscale + + find /var/lib/backup/headscale -type f -name '*.backup.tar' -print0 | + sort --zero-terminated --reverse | + tail --zero-terminated --lines=+6 | + xargs --null --no-run-if-empty rm -- ''; postStop = "systemctl start headscale.service"; }; |
