Borg Backup is a command line deduplication backup tool written in Python. Therefor It allows deduplication but also compression and encryption of your backups.
As a reminder, deduplication, also called single instance storage, is a data storage technique that splits up files in bulk and associates them with a unique identifier in order to save the space used. Clearly, you only save the modified blocks, no need to copy the duplicates.
You can use Borg Backup on Unix systems (Linux, BSD, Mac OS) and Windows (with LSW, Linux Subsystem of Windows, but in an experimental way). Here are the main features of the tool: :
Reduction of storage space
Content-defined segmentation-based deduplication helps reduce the number of bytes stored. Each file is divided into a number of variable length segments and only new segments are added to the index. Compared to other deduplication approaches, this method does not depend on file / directory names. Therefore you can move your files without influencing deduplication. If a large file changes, only the new segments are copied (ideal for virtual machines).
To protect data, Borg Backup can use AES256-bit based encryption. This very secure algorithm ensures data confidentiality in the event of a compromise. The authenticity and integrity of the data (ensuring the origin as well as the non-modification of the data) are managed by HMAC-SHA256.
You can compress the data using these different compression algorithms: lz4, zstd, zlib and lzma
This saves even more space.
With Borg Backup, you can back up your data to one or more remote servers (multiple remote directories can be configured to provide redundancy). Communication takes place via the ssh protocol. The editor advises installing Borg Backup on remote servers to increase performance. But if this is not possible you can use other network filesystems (sshfs, nfs, …).
Backups mountable as filesystems
You can mount backups like a typical file system, allowing you to examine and restore interactively with a classic file explorer.
Performance-critical code is implemented in C/Cython (chunking, compression, encryption). Files/chunks index data is cached locally, allowing quick detection of unmodified files.
As you can see, if you are looking for a powerful and secure tool that allows you to perform your backups as well as ensure their confidentiality and integrity, Borg Backup is made for you. It is also an open source (BSD license) and free tool.
We will see in a future article the setup using borgmatic, a tool for easily configuring Borg Backup.
Official link Borg Backup