clawdbot-workspace/BACKUP-STRATEGY-2026.md

296 lines
9.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Zero Data Loss Strategy - Master Guide
*Updated: January 21, 2026*
---
## 🎯 Goal
**Never lose data. Ever.** Even if:
- Your computer crashes
- Your drive fails
- Your Mac is stolen
- You accidentally delete everything
- A natural disaster destroys your home
---
## 🛡️ The Layered Defense System
```
┌─────────────────────────────────────────────────────────────┐
│ ZERO DATA LOSS │
├─────────────────────────────────────────────────────────────┤
│ │
│ L5: Offsite Physical (Drive at another location) │
│ └─ Protects against: fire, flood, theft, disaster │
│ │
│ L4: Continuous Cloud (Backblaze) │
│ └─ Protects against: drive failure, ransomware │
│ │
│ L3: Daily Cloud (rclone + DigitalOcean) │
│ └─ Protects against: computer reset, data corruption │
│ │
│ L2: Hourly Local (Time Machine) │
│ └─ Protects against: accidental deletion, bad commits │
│ │
│ L1: Instant Code Sync (Git + GitHub) │
│ └─ Protects against: code loss, version history │
│ │
│ L0: Active Project Files (on your Mac) │
│ │
└─────────────────────────────────────────────────────────────┘
```
---
## 📊 Your Current Setup
| Layer | Tool | Status | Frequency |
|-------|------|--------|-----------|
| L1: Git + GitHub | gh CLI | ✅ Remix Sniper set up | Per commit |
| L3: Daily Cloud | rclone + DO | ⬜ Ready to set up | Daily (when on) |
| L2: Time Machine | macOS native | ⬜ Not set up | Hourly (when on) |
| L4: Backblaze | - | ⬜ Not set up | Continuous |
| L5: Offsite | External drive | ⬜ Not set up | Manual |
---
## ⚠️ The "MacBook Not Always On" Reality
**Problem:** Automated backups only run when your computer is ON.
**Impact:**
- Time Machine: Won't backup when MacBook is off
- Cloud backups via cron: Won't run when MacBook is off
- But: Git commits still happen whenever you work
**Solution:**
1. **Mac mini (always on):** Primary backup hub
2. **MacBook Pro (occasional):** Sync to cloud when on
3. **Cross-device sync:** Use cloud storage for active projects
---
## 🏗️ Architecture Diagram
```
┌─────────────────┐
│ DigitalOcean │
│ Spaces │
└────────┬────────┘
┌────────────────────┼────────────────────┐
│ │ │
┌────▼────┐ ┌─────▼─────┐ ┌────▼────┐
│Mac mini │ │MacBook Pro│ │GitHub │
│(always) │ │(on/off) │ │(code) │
└────┬────┘ └─────┬─────┘ └─────────┘
│ │
┌────▼────┐ ┌─────▼─────┐
│Time │ │rclone │
│Machine │ │backup │
└─────────┘ └───────────┘
```
---
## 🚀 Setup Order
### Phase 1: Immediate (Today)
1. ✅ Git + GitHub (Remix Sniper done)
2. ⬜ rclone + DigitalOcean (you're getting the API key)
3. ⬜ First cloud backup
### Phase 2: This Week
1. ⬜ Get external drive + set up Time Machine (Mac mini)
2. ⬜ Run first Time Machine backup
3. ⬜ Test restore from cloud
### Phase 3: Optional (Best Practice)
1. ⬜ Set up Backblaze ($6/month, continuous)
2. ⬜ Second external drive for offsite (at friend/family)
3. ⬜ Configure MacBook Pro for travel backups
---
## 📁 What Each Layer Protects
### L1: Git + GitHub (Code Only)
- ✅ Source code
- ✅ Scripts
- ✅ Documentation
- ✅ Commit history
- ❌ Environment variables
- ❌ Database dumps
- ❌ User data
### L2: Time Machine (Everything Local)
- ✅ All files and folders
- ✅ Applications
- ✅ System settings
- ✅ Database files (if local)
- ✅ Point-in-time restore
- ⚠️ Drive must be connected
- ⚠️ Only when Mac is on
### L3: rclone + DigitalOcean (Critical Data)
- ✅ Database dumps
- ✅ Environment files
- ✅ Configuration files
- ✅ Tracking data
- ✅ Backup scripts
- ✅ Selected project folders
- ⚠️ Only when Mac is on
- ✅ Offsite (safe from local disaster)
### L4: Backblaze (Continuous Offsite)
- ✅ Everything on your Mac
- ✅ Continuous (runs in background)
- ✅ Offsite (safe from disaster)
- ✅ Easy restore via web portal
- ✅ Version history (30 days)
- ❌ $6/month per computer
### L5: Offsite Drive (Physical)
- ✅ Full system snapshot
- ✅ Air-gapped (not connected to internet)
- ✅ Immune to ransomware
- ✅ No subscription
- ⚠️ Manual process
---
## 🔄 Backup Frequency Matrix
| Data Type | Git | Time Machine | Cloud (rclone) | Backblaze |
|-----------|-----|--------------|----------------|-----------|
| Source code | ✅ Per commit | ✅ Hourly | ✅ Daily | ✅ Continuous |
| Environment files | ❌ Never | ✅ Hourly | ✅ Daily | ✅ Continuous |
| Database dumps | ❌ Never | ✅ Hourly | ✅ Daily | ✅ Continuous |
| User data | ❌ Never | ✅ Hourly | ✅ If configured | ✅ Continuous |
| System settings | ❌ Never | ✅ Hourly | ❌ No | ✅ Continuous |
---
## 🛠️ For Each New Project
Use the template:
```bash
cd /path/to/project
~/.clawdbot/workspace/PROJECT-BACKUP-TEMPLATE.sh
```
This automatically sets up:
1. ✅ Git + GitHub
2. ✅ Cloud backup script
3. ✅ .gitignore
4. ✅ Restore instructions
---
## 📋 Weekly Checklist
| Task | Done? |
|------|-------|
| Push latest code to GitHub | ⬜ |
| Cloud backup ran successfully | ⬜ |
| Time Machine last backup < 7 days | |
| Test restore one random file | |
| Check for backup errors in logs | |
---
## 🚨 What If...
### Scenario: Mac mini crashes
1. Get new Mac mini
2. Install macOS
3. Restore from Time Machine (if drive survived)
4. If not: restore from DigitalOcean cloud
5. Clone repos from GitHub
### Scenario: MacBook Pro stolen
1. Remote wipe via iCloud (Find My Mac)
2. Restore from cloud (DigitalOcean)
3. Clone repos from GitHub
4. Activate Time Machine on replacement
### Scenario: House fire
1. Insurance claim
2. Get new hardware
3. Restore from DigitalOcean cloud
4. Clone repos from GitHub
5. If Backblaze: restore full system
### Scenario: Accidentally deleted critical file
1. Check Time Machine (easiest)
2. Or restore from last cloud backup
3. Or restore from GitHub (if code)
---
## 💡 Pro Tips
### For Mac mini (always on)
- Keep Time Machine drive connected
- Run cloud backups daily at 2 AM
- Use as primary backup hub
### For MacBook Pro (travel)
- Commit code frequently (push to GitHub)
- Run cloud backup before shutdown
- Keep a small USB drive for travel backups
### For Critical Projects
- Duplicate backups: cloud + 2nd drive
- Encrypt sensitive data (FileVault)
- Store recovery keys in 1Password
---
## 📞 Emergency Contacts
| Service | Link | Notes |
|---------|------|-------|
| GitHub | https://github.com/BusyBee3333 | Code repos |
| DigitalOcean | https://cloud.digitalocean.com | Spaces |
| Backblaze | https://secure.backblaze.com/b4_signup4.htm | (if set up) |
| 1Password | Sign in | All passwords |
| Buba | Discord tag me | Help |
---
## ✅ Setup Status
- [x] Git + GitHub for Remix Sniper
- [ ] rclone configured with DigitalOcean
- [ ] First cloud backup completed
- [ ] Time Machine set up (Mac mini)
- [ ] Backblaze configured (optional)
- [ ] Offsite drive prepared (optional)
---
## 💛 Final Thoughts
**Data loss isn't a matter of IF, it's WHEN.**
With this layered system:
- 3+ copies of everything
- Offsite protection
- Version history
- Easy restore
**You're now bulletproof.** 🛡
---
**Next steps:**
1. Get DigitalOcean Spaces API key follow guide
2. Get external drive for Time Machine follow guide
3. Set up Backblaze (optional but recommended) https://backblaze.com
4. Test restore process restore one file to verify
**Tag me in Discord when you complete each step!** 💛