Mirror backups · free and open source
bupr
Preset-based mirror backups for the macOS terminal.
brew install dfallman/tap/bupr View on GitHub macOS
About
Bupr mirrors folders on your Mac to an external drive or a mounted NAS, quickly and safely. Describe each backup once in a small TOML file, then run it by name: bupr dev mirrors ~/dev to your backup drive.
It knows what your tools can regenerate. A target/ folder is skipped only when a Cargo.toml sits next to it, and node_modules/ only beside a package.json, while your .git folders, lockfiles, and .env files are kept. That often turns 100 GB of projects into a backup of a few.
What it does
Presets, not scripts
No long
rsynccommand where one missing backslash silently breaks it.bupr newwalks you through a preset.Project-aware excludes
Skips only what can be regenerated.
bupr auditshows what is left out, and why.Live dashboard
Progress, speed, ETA, and the files being copied. Later runs copy only what changed.
Preview a run
--dry-runshows the plan.--simulatereads every file and writes nothing, to find errors and time the run.Safety first
Independent layers, down to a kernel sandbox around the copier, keep every write inside the backup folder.
Runs unattended
Schedule it with
launchd.--allskips drives that aren’t plugged in, and exit codes tell a script what happened.
Who’s it for?
Developers with many projects
Back up
~/devwithout copying gigabytes ofnode_modules/andtarget/folders every time.An external drive or a NAS
A plain mirror you can open in Finder and copy back from, file by file, on any Mac.
Burned by rsync before
The speed of a mirror, with presets, previews, and guard rails in place of a fragile one-liner.
Install
With Homebrew:
brew install dfallman/tap/bupr Or download a ready-made build for macOS from the latest release, or build it from the source on GitHub.
Try it
bupr initbupr dev --dry-run The first writes a starter config to ~/.config/bupr/config.toml. The second shows what a backup would copy and delete, without touching anything.
Bupr is free and open source under the MIT licence. Read the source, report an issue, or contribute on GitHub.