← Back to brief

reference quarterly backup

memory · reference_quarterly_backup.md

Purpose

If Joseph ever leaves SkyRun, the Workspace account (Joseph.Bowens@SkyRun.com) could be frozen and the Drive copy goes with it. This quarterly snapshot ensures he retains:

iCloud survives Mac loss; local survives iCloud outage. Belt AND suspenders.

Schedule

launchd agent com.skyrun.quarterly-backup runs at:

If the Mac is asleep, macOS wakes it if pmset repeat wakeorpoweron is set (done 2026-04-23). If the Mac is off, the job runs at next boot (launchd catch-up).

What's backed up

Archive naming

Format: SkyRun_{YYYY}-Q{N}_{YYYY-MM-DDTHHMMSSZ}.zip
Example: SkyRun_2026-Q2_2026-04-24T000635Z.zip

Rotation

Keeps the 4 most recent archives (1 year of quarterly snapshots). Oldest gets deleted automatically after each run.

Manual run

bash
bash "/Users/josephbowens/Library/Application Support/SkyRun/quarterly_backup.sh"

Disable / enable

Heartbeat integration

Writes ~/Library/Application Support/SkyRun/health/{YYYY-MM-DD}_quarterly-backup_{HHMM}.json every run. nightly-consolidation Section F picks this up for system-health monitoring — if a quarterly run fails, morning brief flags it RED.

Push notification

Sends an ntfy push via notify.sh when the backup completes:
> 📦 SkyRun Quarterly Backup Complete — {quarter} snapshot: {size} → {path}. iCloud mirror: ok. {N} archives retained.

Files

What to do if Joseph ever leaves SkyRun

1. Immediately after notice — run manual backup once:
bash "/Users/josephbowens/Library/Application Support/SkyRun/quarterly_backup.sh"
2. Within 24h — copy the zip(s) from iCloud to a personal cloud (Dropbox, personal Gmail Drive, external drive) so it's fully outside SkyRun's control
3. Before handing in laptop — copy entire ~/Library/Application Support/SkyRun_Backups/ folder to external drive
4. In the quarter after leaving — the scheduled job will still run locally (it doesn't depend on the SkyRun Workspace account). Joseph keeps all history.

Related