62 lines
2.9 KiB
Markdown
62 lines
2.9 KiB
Markdown
# Backup Restore Test Log
|
|
|
|
## Purpose
|
|
|
|
Backups are only useful if restore paths are tested before an emergency. This log records recurring restore tests for the Agrarian project backup and the development VM backups.
|
|
|
|
Use this file for the durable project record. Handoff notes can summarize the latest result, but the evidence and cadence live here.
|
|
|
|
## Cadence
|
|
|
|
- Weekly: restore one small file from the latest project snapshot to a temporary folder and verify it matches the live file.
|
|
- Monthly: restore or inspect enough of the project repository snapshot to confirm Git metadata/history are usable.
|
|
- Monthly: verify the latest VM backup snapshot is readable by checking `SHA256SUMS` and inspecting the backed-up disk metadata.
|
|
- Quarterly: restore the project folder plus one VM definition/disk to a non-production test path.
|
|
|
|
## Evidence Required
|
|
|
|
Each entry should include:
|
|
|
|
- Date and local time.
|
|
- Backup type: project, VM, or full drill.
|
|
- Snapshot path, restic snapshot ID, or VM backup timestamp.
|
|
- Command or runbook section used.
|
|
- Result: Pass, Blocked, or Fail.
|
|
- Notes on what was restored, where it was restored, and whether cleanup was completed.
|
|
|
|
## Log
|
|
|
|
| Date | Type | Snapshot | Result | Evidence / Notes |
|
|
| --- | --- | --- | --- | --- |
|
|
| 2026-05-15 | Project restore-test log setup | `/mnt/backups/linastorage/backups/agrarian-game/project/restic-repository` | Blocked | Log created. The expected restic repository path was not present on Ubuntu-Codex at setup time, so the first project restore test must run after the Linastorage backup mount/repository is confirmed. |
|
|
| 2026-05-15 | VM restore-test log setup | `/mnt/user/backups/agrarian-game/vms/snapshots` | Blocked | Log created. The Unraid snapshot directory exists, but no VM snapshot directories were present at setup time. Run the first VM readability test after the next successful VM backup snapshot. |
|
|
|
|
## Project Restore Test Procedure
|
|
|
|
Use the project backup runbook for the authoritative paths:
|
|
|
|
```bash
|
|
mkdir -p /tmp/agrarian-project-restore-test
|
|
sudo sh -c 'RESTIC_PASSWORD_FILE=/root/.backup-secrets/agrarian-project-restic.password \
|
|
restic -r /mnt/backups/linastorage/backups/agrarian-game/project/restic-repository \
|
|
dump latest /mnt/projects/AgrarianGameBulid/AGRARIAN_DEVELOPMENT_ROADMAP.md \
|
|
> /tmp/agrarian-project-restore-test/AGRARIAN_DEVELOPMENT_ROADMAP.md'
|
|
diff -q /mnt/projects/AgrarianGameBulid/AGRARIAN_DEVELOPMENT_ROADMAP.md \
|
|
/tmp/agrarian-project-restore-test/AGRARIAN_DEVELOPMENT_ROADMAP.md
|
|
```
|
|
|
|
Record the restic snapshot ID, result, and cleanup status in the log table.
|
|
|
|
## VM Restore Test Procedure
|
|
|
|
Use the VM backup runbook for authoritative paths:
|
|
|
|
```bash
|
|
cd /mnt/user/backups/agrarian-game/vms/snapshots/<timestamp>
|
|
sha256sum -c SHA256SUMS
|
|
qemu-img info vms/Ubuntu-Codex/disks/hdc-vdisk1.img.qcow2
|
|
```
|
|
|
|
Record the VM snapshot timestamp, checksum result, disk metadata result, and cleanup status in the log table.
|
|
|