Restore blog ideas section + #001 backup idea with filesystem analysis data
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
# 001 — Why backing up an agent is so hard
|
||||||
|
|
||||||
|
**Status:** Idea
|
||||||
|
**Tags:** Technical, Backups, DevOps
|
||||||
|
|
||||||
|
## Research notes
|
||||||
|
|
||||||
|
### Real filesystem changes after one week of work on a Linux agent
|
||||||
|
|
||||||
|
```
|
||||||
|
504.6M ./usr
|
||||||
|
43.3M ./var
|
||||||
|
448.9M ./root
|
||||||
|
54.0K ./etc
|
||||||
|
996.8M .
|
||||||
|
```
|
||||||
|
|
||||||
|
Most users only back up the home directory (`/root` = 448.9M). But over half the changes live outside it — `/usr` (504.6M) and `/var` (43.3M) contain installed packages, pip/npm global installs, database files, logs, and system configs. A naive home-dir-only backup misses 55% of what changed.
|
||||||
|
|
||||||
|
At restore time, you get your config back but the agent won't run — missing dependencies, missing system packages, missing database files.
|
||||||
|
|
||||||
|
### What this means for the post
|
||||||
|
|
||||||
|
- Agent environments are not just config files — they're full Linux systems with packages, services, and state scattered everywhere
|
||||||
|
- "Backup your home directory" is dangerously incomplete advice for AI agents
|
||||||
|
- Derez.ai's full-disk snapshot approach is the right solution
|
||||||
|
- This is a strong selling point: the agent works after restore, not just the config
|
||||||
|
|
||||||
|
### Next data points
|
||||||
|
|
||||||
|
Oliver will do two more memory analysis snapshots after running the speed-run setups (Odoo + Cold Email). Those will show how much additional state those integrations add.
|
||||||
|
|
||||||
|
### Outline
|
||||||
|
|
||||||
|
1. The sprawl problem — why agents are harder to back up than a standard server
|
||||||
|
*Include the filesystem analysis table*
|
||||||
|
2. What a real agent backup needs to capture
|
||||||
|
3. How Borg/deduplicated snapshots solve it
|
||||||
|
4. How Derez.ai does it automatically (one-click restore)
|
||||||
|
5. Best practices for users
|
||||||
|
6. Better save than sorry — the selling point
|
||||||
|
|
||||||
|
### References
|
||||||
|
|
||||||
|
- Borg backup docs
|
||||||
|
- Hermes Agent directory structure (~/.hermes/)
|
||||||
|
- Filesystem analysis: `du -sch /usr /var /root /etc` after one week
|
||||||
@@ -506,6 +506,61 @@
|
|||||||
.goals-grid { grid-template-columns: 1fr; }
|
.goals-grid { grid-template-columns: 1fr; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Blog ideas ──────────────────────────── */
|
||||||
|
.blog-idea-item {
|
||||||
|
display: flex;
|
||||||
|
gap: 16px;
|
||||||
|
padding: 20px 24px;
|
||||||
|
background: #0e0e14;
|
||||||
|
border: 1px solid #1a1a2e;
|
||||||
|
border-radius: 18px;
|
||||||
|
transition: border-color 0.2s, transform 0.2s;
|
||||||
|
align-items: flex-start;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
.blog-idea-item:hover {
|
||||||
|
border-color: #6c8cff;
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
.blog-idea-checkbox {
|
||||||
|
flex-shrink: 0;
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
.blog-idea-checkbox input[type="checkbox"] {
|
||||||
|
accent-color: #6c8cff;
|
||||||
|
width: 17px;
|
||||||
|
height: 17px;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.blog-idea-body { flex: 1; min-width: 0; }
|
||||||
|
.blog-idea-title {
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #e8e8f0;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
.blog-idea-desc {
|
||||||
|
font-size: 13px;
|
||||||
|
color: #888;
|
||||||
|
line-height: 1.7;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.blog-idea-meta {
|
||||||
|
display: flex;
|
||||||
|
gap: 6px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.blog-idea-tag {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 3px 12px;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 600;
|
||||||
|
border-radius: 12px;
|
||||||
|
background: rgba(108,140,255,0.1);
|
||||||
|
color: #6c8cff;
|
||||||
|
border: 1px solid rgba(108,140,255,0.15);
|
||||||
|
letter-spacing: 0.02em;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -648,6 +703,31 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- ════════ BLOG IDEAS ════════ -->
|
||||||
|
<div class="section">
|
||||||
|
<div class="section-header" onclick="toggleSection('blog-ideas-section', this)">
|
||||||
|
<h2>📝 Blog Post Ideas</h2>
|
||||||
|
<span class="section-count count">research notes in blog/ideas/</span>
|
||||||
|
<span class="section-toggle collapsed">▼</span>
|
||||||
|
</div>
|
||||||
|
<div class="section-body" id="blog-ideas-section">
|
||||||
|
<div class="blog-idea-item">
|
||||||
|
<div class="blog-idea-checkbox">
|
||||||
|
<input type="checkbox" />
|
||||||
|
</div>
|
||||||
|
<div class="blog-idea-body">
|
||||||
|
<div class="blog-idea-title">#001 — Why backing up an agent is so hard</div>
|
||||||
|
<div class="blog-idea-desc">Modern AI agents install packages everywhere — pip in venvs, npm globally, configs scattered across /etc, ~/.config, /opt, custom paths. After one week: 504.6M in /usr, 448.9M in /root, 43.3M in /var — home-dir-only backup misses 55% of changes.</div>
|
||||||
|
<div class="blog-idea-meta">
|
||||||
|
<span class="blog-idea-tag">Technical</span>
|
||||||
|
<span class="blog-idea-tag">Backups</span>
|
||||||
|
<span class="blog-idea-tag">DevOps</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
Reference in New Issue
Block a user