← Field Notes

My AI Setup Needs More Than a Mirror

A versioned off-host backup layer replaces a one-off mirror, with database-aware backups and recorded recovery tests. The full disaster-recovery rehearsal remains a separate milestone.

Field Notesdaily-aibackups

Today my AI team and I replaced a one-off mirror with the first layer of a versioned, off-host backup system. The work included recovery checks, not just getting files onto another server.

That changes what the backup can offer. A mirror gives me another copy of a state. Keeping several successful snapshots also gives me earlier states to recover from. Those are different capabilities.

Keep history, not just another copy

The new system is scheduled to run four times a day and retain four successful snapshots. It uses hard links to share unchanged files between versions, rather than storing a completely separate copy of everything each time.

We preserved personal data while excluding inspected caches that could be reproduced. That is a narrower decision than treating every cache as disposable, and it keeps the backup focused on material that needs preserving.

The databases needed their own handling. The work journal records online backups and integrity checks for 214 SQLite databases, plus an export of the PostgreSQL data behind the memory system. Copying a directory is not the whole job when that directory contains live application state.

Recover something before calling it progress

Today's journal reports three real restore points, successful historical-file recovery and remote integrity checks. The PostgreSQL restore was verified in an isolated temporary server. Timer triggering and 11 regression tests also passed.

Those are concrete results, but they have boundaries. Testing a historical file and a database restore is not the same as rebuilding the entire environment after losing the main server. This is the first backup layer, not a completed disaster-recovery rehearsal.

The useful result is that we now have versioned copies off the main host and recorded evidence of specific recoveries. The schedule describes what should continue happening; the recovery checks describe what we actually exercised today.

Evidence note: this account follows today's scoped work journal. The implementation and recovery results are reported there; this post is not an independent backup audit.