Maurice
e62dceb4bb
fix(backup): snapshot the database instead of archiving it live ( #1675 )
...
The scheduled backup archived travel.db directly. The archiver reads its
entries during finalize(), so a WAL checkpoint writing pages back mid-stream
tore the copy — and the -wal that would make it recoverable isn't in the zip.
The manual path was moved to VACUUM INTO for exactly this reason; the
scheduler never followed. It calls the same createBackup() now, which also
gets it the encryption key and plugin data it was missing, so a scheduled
backup is finally restorable onto another install.
The pre-rotation copy in migrate-encryption.ts had the same problem: a plain
file copy of a live WAL database, and it is the operator's only rollback if a
key rotation goes wrong.
Auto-backups now exclude the re-derivable photo caches, matching manual ones.
2026-07-29 17:02:56 +02:00
..
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-21 13:46:38 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-05 01:13:04 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-29 17:02:56 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-21 15:33:31 +02:00
2026-05-03 18:48:39 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-06-24 14:03:39 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-04-20 10:11:53 +02:00
2026-07-18 22:13:52 +02:00
2026-04-20 10:11:53 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-19 19:00:40 +02:00
2026-07-19 19:00:40 +02:00
2026-07-19 19:00:40 +02:00
2026-07-19 19:00:40 +02:00
2026-05-04 14:21:55 +02:00
2026-07-18 22:13:52 +02:00
2026-05-03 17:39:45 +02:00
2026-07-18 22:13:52 +02:00
2026-07-23 21:35:12 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-28 07:25:36 +02:00
2026-07-29 15:14:21 +02:00
2026-07-21 13:46:38 +02:00
2026-07-18 22:13:52 +02:00
2026-04-20 10:11:53 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-21 13:46:38 +02:00
2026-07-18 22:13:52 +02:00
2026-04-20 10:11:53 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-05-15 23:16:34 +02:00
2026-07-28 07:25:36 +02:00
2026-07-20 20:44:12 +02:00
2026-07-26 11:48:15 +02:00
2026-07-20 20:44:12 +02:00
2026-07-18 22:13:52 +02:00
2026-07-11 22:28:32 +02:00
2026-07-18 22:13:52 +02:00
2026-07-19 19:00:40 +02:00
2026-07-18 22:13:52 +02:00
2026-07-21 16:02:53 +02:00
2026-07-18 22:13:52 +02:00
2026-07-20 20:44:12 +02:00
2026-07-11 22:28:32 +02:00
2026-04-22 18:22:22 +02:00
2026-07-18 22:13:52 +02:00
2026-07-20 11:17:51 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00
2026-07-29 15:14:21 +02:00
2026-07-18 22:13:52 +02:00
2026-07-19 19:00:40 +02:00
2026-07-18 22:13:52 +02:00
2026-07-25 12:02:16 +02:00
2026-07-18 22:13:52 +02:00
2026-07-18 22:13:52 +02:00