diff options
| -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"; }; |
