Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikroskeem/zorg

Back up ZFS snapshots to Borg
https://github.com/mikroskeem/zorg

Last synced: 2 months ago
JSON representation

Back up ZFS snapshots to Borg

Awesome Lists containing this project

README

        

# Zorg

- shellcheck pass
- no docs yet (!!!), this is a collection of scripts i threw together in one weekend pretty much
- not production quality, but runs in production on my box with syncoid
- pretty much `./backup_all.sh rpool/data/stuff`
- `.../stuff/*` will be turned into borg repos
- nested datasets are not supported (e.g `rpool/data/stuff/x/y`)
- generate `~/.ssh/backup_key_ed25519` (or configure `ZORG_SSH_KEY` envvar)
- `ssh-keygen -N "" -C "" -t ed25519 -f ~/.ssh/backup_key_ed25519` there you go
- ignored.txt can do something like
```
autosnap_.*
syncoid_.*
```
to skip unwanted snapshots made by various tools

GPL-3.0 also

## Trivia

- Yes, it works on macOS

## TODO

- [ ] mount credentials into ramfs to prevent risking with swapping raw credentials on disk
- needs more fiddling with user & mount namespaces, doable
- [ ] mechanism to delete zfs snapshots after being backed up into borg repo
- [ ] restore zfs snapshots from borg repository
- [ ] support for nested datasets
- [ ] support for multiple repository & credentials directories
- currently assumes that whole script dir is for one dataset set
- [ ] more credential management solutions
- sops
- vault
- custom? (need a spec)
- [ ] support for one big monster borg repo (?)
- \+ potentially better dedup gains?
- \- gigantic single point of failure