BorgBackup – Reliable Backups with Compression, Deduplication, and No Fuss
What is BorgBackup
BorgBackup (or just Borg) is one of those tools that ends up staying on your systems for years. It’s simple, dependable, and does exactly what you ask of it: take backups, deduplicate data, compress everything, and encrypt it if needed — all in one step.
It’s built with scripting in mind. No GUI, no background daemons, no hidden processes. You run a command, it snapshots your files, and you’re done. If the files haven’t changed, Borg won’t store them again. If they have, only the changed chunks get saved.
Under the hood, it uses content-aware deduplication and fast compression (lz4, zstd, or others), so the storage usage stays low even if you’re backing up big directories every day. For restores, you can mount archives as if they were regular folders — no need to extract tarballs or search in obscure metadata files.
It’s also secure: encryption is not bolted on, it’s baked in. And if something ever goes wrong, Borg gives you enough tools to inspect, repair, or rebuild a repository. That’s what makes it so popular with sysadmins.
Why It Works So Well
Feature | What Makes It Useful |
Deduplication | Only stores chunks once — saves space across machines and snapshots |
Compression | Built-in support for lz4, zlib, zstd, lzma |
Encryption | Authenticated, with repokey/passphrase modes |
Filesystem Support | Works on any POSIX filesystem |
Mountable Archives | Browse backups like directories using `borg mount` |
Remote Support | Backup over SSH, nothing needed on the client except `borg` |
Snapshot Retention | Prune rules allow smart cleanup policies |
Recovery Tools | Verify, rebuild index, or extract manually if needed |
Setup (Plain and Honest)
Install Borg from your package manager — it’s in most of them.
Debian/Ubuntu:
sudo apt install borgbackup
macOS (Homebrew):
brew install borgbackup
Then, create a repository:
borg init –encryption=repokey /mnt/backup/borg-repo
Make a backup:
borg create /mnt/backup/borg-repo::$(date +%F) /etc /home /var/log
Want to browse it like a folder?
borg mount /mnt/backup/borg-repo::2025-07-29 /mnt/mounted
Listing archives:
borg list /mnt/backup/borg-repo
Cleaning up old stuff:
borg prune –keep-daily=7 –keep-weekly=4 –keep-monthly=6 /mnt/backup/borg-repo
No cron inside Borg — that’s your job. Use cron or timers like always.
Use Cases in Real Life
– Scheduled nightly backups from servers to local or remote storage
– Backup over SSH from laptops without any special server software
– Compressed, encrypted snapshots for laptops before travel
– Recovery of single files using FUSE mount instead of full restore
– Long-term archiving with retention rules and audit-ready encryption