What Is BorgBackup and What Does It Do?
Updated
BorgBackup (Borg) is a deduplicating backup program with compression and authenticated encryption. It stores your files as content-defined chunks, keeps identical chunks only once, and writes everything to a repository that can live on a local disk, a USB drive, or any machine you can reach over SSH. It runs on Linux, macOS, BSD and more, is BSD licensed, and has been developed in the open since 2015. If you want space-efficient, encrypted backups without daemons, agents, or lock-in, Borg is built for that job.
What Borg actually does
Borg's core behavior comes down to three mechanisms that work together on every backup:
- Deduplication. Files are split into content-defined chunks. Identical chunks are stored exactly once — across files, across machines, and across years of history. Because chunk boundaries follow content rather than fixed offsets, inserting or shifting data doesn't cascade into storing everything again.
- Authenticated encryption. Backups use AES encryption with cryptographic authentication. The backup server only ever sees ciphertext, so it never needs to be trusted.
- Compression. You pick the trade-off per repository:
lz4for speed,zstdfor balance,zlibandlzmafor maximum squeeze, or none at all.
The practical result: daily full backups cost little more than the changes since yesterday, and the storage side of the equation stays small even as history grows.
How deduplication plays out over time
The clearest way to understand Borg is to watch what happens across repeated backups of the same machine.
| Night | Chunks seen | Newly stored |
|---|---|---|
| 1 | A B C D E F G H | A B C D E F G H |
| 2 | A B C D E F G I | I |
| 3 | A B J D E F G I | J |
Across three nights, 24 chunks are seen but only 10 are stored. Duplicate chunks collapse into a single stored copy, so history stays complete while the repository stays small. This is why Borg can keep many restore points without the storage cost multiplying.
What you can do with a repository
- Back up with one command. No daemons, no agents. Point Borg at a repository and go.
- Target almost any destination. Local disk, USB drive, or a remote machine over SSH.
- Mount archives as filesystems. With FUSE, any archive can be mounted as a regular filesystem, so you can browse old versions of your files like any folder.
- Install the way that suits you. Distribution packages, single-file binaries, or
pip.
When Borg fits — and when to look elsewhere
Borg is a strong choice if you:
- want encrypted backups where the storage host is untrusted,
- are backing up the same machine repeatedly and want history without proportional storage growth,
- prefer a command-line tool over a managed service, and
- can reach your backup target locally or over SSH.
It's a weaker fit if you need a fully managed, GUI-driven product, or if your backup target can't be reached by a filesystem path or SSH. Borg is free and open source under the BSD license; the site doesn't state pricing or account requirements, so treat availability as a matter of installing the software rather than signing up for a service.
Getting started
The official site offers install options by distribution and recorded terminal demos — real text sessions you can pause and copy from, rather than marketing footage. A reasonable first step is to install Borg from your distribution's packages, create a repository on a local disk or USB drive, and run a first backup to see how much deduplication saves on your own data before pointing it at a remote host.