nightly-backup

Solid

Run `hermes backup`, encrypt, upload to remote storage, prune old backups

AI & Automation 5 stars 0 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 83/100

Stars 20%
26
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# nightly-backup — Hermes Backup Automation Thin wrapper around `hermes backup` + encryption + optional remote upload + retention. ## Procedure 1. **Snapshot.** Run: ```bash hermes backup --output /tmp/hermes-backup-$(date +%Y%m%d-%H%M%S).tar ``` This bundles config, sessions, skills, memory, and cron entries per [Part 16](../../../part16-backup-debug.md). 2. **Encrypt.** Use age (if available) or gpg symmetric: ```bash BACKUP_PASSPHRASE=$(hermes secrets get BACKUP_PASSPHRASE) age -p -o /tmp/hermes-backup-*.tar.age /tmp/hermes-backup-*.tar # or gpg --batch --yes --symmetric --cipher-algo AES256 \ --passphrase "$BACKUP_PASSPHRASE" \ /tmp/hermes-backup-*.tar shred -u /tmp/hermes-backup-*.tar ``` 3. **Upload.** Based on `remote:` parameter: - `s3://…` → `aws s3 cp <file> s3://bucket/prefix/` - `b2://…` → `rclone copy <file> b2:bucket/prefix/` - `ssh://…` → `rsync -av <file> user@host:/path/` - `local` → move to `~/.hermes/backups/` 4. **Prune.** Delete anything older than `retain_days`: - `s3`: use S3 lifecycle policy if possible; otherwise `aws s3 ls` + age filter - `b2`: `rclone delete --min-age ${retain_days}d b2:bucket/prefix/` - `ssh`: `ssh host "find /path -mtime +${retain_days} -delete"` - `local`: `find ~/.hermes/backups -mtime +${retain_days} -delete` 5. **Verify.** Download a random recent backup and test-decrypt: ```bash age -d -i ~/.age-backup-key backup.tar.age > /tmp/verify.tar && t...

Details

Author
Guilhermepelido
Repository
Guilhermepelido/hermes-optimization-guide
Created
2 months ago
Last Updated
yesterday
Language
Shell
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category