feat: update pz
runner nix smoke / nix label and flake smoke (push) Failing after 1m50s

This commit is contained in:
2026-09-28 14:50:05 +00:00
parent 5b0ae6be5e
commit 3f7856b4aa
3 changed files with 93 additions and 23 deletions
+25 -2
View File
@@ -10,7 +10,13 @@ or pausing the server. The default schedule is every 30 minutes. Each run:
`Zomboid/Server` into a private staging tree;
3. waits five seconds and repeats the rsync to narrow the live-write window;
4. publishes a timestamped `tar.zst` archive; and
5. deletes local archives older than `backup.retentionDays`.
5. uploads it to S3 when enabled, then applies local retention.
With `backup.retentionDays = 0`, local timestamped archives are removed after a
successful S3 upload (or after local creation when S3 is disabled). A failed
upload leaves the current archive locally and the next run retries that archive
before creating a new one. Restore archives named `pre-restore` are not managed
by this cleanup.
The service lock prevents overlapping runs. Missing save or server-config paths
skip the run through systemd `ConditionPathExists` checks.
@@ -29,12 +35,18 @@ after a restore.
## hectic-lab
hectic-lab runs the timer every 30 minutes and keeps local archives for 14 days:
hectic-lab runs the timer every 30 minutes and stores timestamped backups in
S3 for 14 days. It keeps no regular timestamped backup archives locally:
```text
/var/lib/project-zomboid/backups/archive/
```
The existing `project-zomboid-restore.sh` helper expects the fresh backup it
creates to remain in this directory for rollback. Therefore, with local
retention set to zero, do not use the helper until it is adapted for S3-only
retention; temporarily configure positive local retention for a restore.
Check it with:
```sh
@@ -71,6 +83,17 @@ available; it remains the stronger recovery and cleanup control.
Restoring must be done while the server is stopped so it cannot modify files
during extraction:
On hectic-lab, regular timestamped archives are retained only in S3. With
valid S3 credentials, download the chosen archive before restoring it:
```sh
aws s3 cp \
s3://backup-hectic-lab/project-zomboid/project-zomboid-servertest-<timestamp>.tar.zst \
/var/lib/project-zomboid/backups/archive/<archive>.tar.zst \
--endpoint-url https://hel1.your-objectstorage.com \
--region hel1
```
The versioned helper creates a fresh current-state backup, stops the timer and
server, validates archive paths, restores the save, and starts both services: