Backup & Restore

Every write to ~/.ssh/config is preceded by an automatic snapshot. You can browse the full history and roll back to any previous version with one click.

How it works

Before Schooner modifies ~/.ssh/config, it saves a timestamped copy of the current file content into schooner.sqlite as a backup entry. The entire snapshot is stored in the database — nothing is written to additional files on disk.

By default, the last 10 snapshots are retained. Older entries are pruned automatically. You can change the retention limit in Settings → General → Backup retention.

Viewing backup history

Open Settings → Backup History (or click the ⛵ menubar icon → Backup History…). The list shows every snapshot with its timestamp and a brief description of the operation that triggered it (e.g. "Added host web-01", "Deleted host old-bastion").

Restoring a snapshot

Click any entry in the backup list → Restore this version. A diff is shown first so you can see exactly what will change. Confirm, and Schooner:

  1. Creates a new snapshot of the current (pre-restore) state.
  2. Writes the selected snapshot content back to ~/.ssh/config.
  3. Reloads the host list.

The restore itself is also snapshotted, so you can undo a restore if needed.

Manual backup

To take a manual snapshot at any time (e.g. before a risky batch edit), click Backup Now in the Backup History window.

External backup: Schooner's database lives at ~/Library/Application Support/Schooner/schooner.sqlite. If you use iCloud Drive, Syncthing, or another sync tool, pointing it at that file will also sync your backup history across machines.