Backup software does more than decide when a backup runs. It also affects where the data can be stored, how duplicate data is handled and how the backup is protected. Some tools build deduplication and encryption directly into their repository format. Others work with external storage systems that provide some of these functions themselves. So the next question is:
How do you want to store and protect your backups?
Bareos and Bacula: Different Storage Systems in One Environment
Bareos is designed to work with different types of backup storage, including disk, tape and S3-compatible object storage. It does not provide native deduplication, but its Dedupable Storage Backend stores backup data in a deduplication-friendly format, allowing block-level deduplication to be handled by systems such as ZFS, Btrfs or VDO. Bareos also uses TLS for network communication and supports client-side encryption and signing of backup data.
Bacula follows a similar general storage model with support for disk and tape. One important difference is deduplication: Bacula Enterprise provides Global Endpoint Deduplication, while this is a paid commercial feature rather than part of the open-source Community edition. Bacula also supports client-side data encryption.
For both platforms, storage is part of a larger centrally managed backup environment rather than a single repository.
Proxmox Backup Server: Deduplication Built In
Proxmox Backup Server takes a different approach. Deduplication and compression are built into its datastore architecture. Backups are split into chunks, and identical chunks do not have to be stored repeatedly. PBS also supports client-side encryption and scheduled verification of backup data. Datastores can use local filesystems such as ZFS, XFS and ext4. Since Proxmox Backup Server 4.2, S3-compatible object storage can also be used as a datastore backend.
Related:
Proxmox Backup Server FAQ
Restic and BorgBackup: Deduplicated, Encrypted Repositories
Restic and BorgBackup put the repository itself at the center of the storage model. Both use content-defined chunking for deduplication and support encryption.
Restic supports local storage, SFTP, S3-compatible storage, Azure Blob Storage, Google Cloud Storage and several other backends.
BorgBackup is more focused on local storage and remote repositories over SSH. It combines deduplication with several compression options and client-side encryption.
This makes Restic particularly flexible for direct cloud or object-storage backup, while Borg fits naturally with local storage or another server reachable over SSH.
Duplicati: Remote and Cloud Storage
Duplicati combines deduplication, compression and encryption before backup data is sent to its destination. It supports local storage as well as many remote and cloud destinations, including SFTP and S3-compatible object storage. This makes it a relatively simple option when the main requirement is encrypted file backup to remote or cloud storage without operating a separate backup storage server.
Related:
Duplicati backup destinations
How Duplicati backups work
UrBackup: Central Storage for File and Image Backups
UrBackup stores file and image backups on a central backup server. Image backups can be compressed, while storage efficiency for file backups can also depend on the filesystem used by the server. The UrBackup documentation, for example, describes configurations based on Btrfs and ZFS. UrBackup also supports encrypted client-server communication.
Related:
UrBackup Administration Manual
Which Storage Approach Fits Which Task?
If you need to combine disk, tape and object storage in one centrally managed backup environment, and you also want backup data written in a format that can work efficiently with deduplication-capable storage such as ZFS, Btrfs or VDO, Bareos is a strong fit. Bacula covers a similarly broad range of storage scenarios, while its own deduplication technology is available through the paid Bacula Enterprise edition.
If your environment is mainly Proxmox VE and you do not need to protect many other workloads, Proxmox Backup Server is the more natural choice. Deduplication, compression, encryption and verification are built closely around the Proxmox ecosystem. Its advantage gets smaller once you also need broader operating-system support, non-Proxmox virtualization or application-specific integrations.
If you mainly need encrypted, deduplicated file backups and do not want to run a full backup platform, Restic or BorgBackup are easier to keep small. Restic supports more cloud and object-storage backends directly, while Borg is better suited to local repositories or another server over SSH. What they don’t give you is the same central control over many clients or the same range of VM and database integrations.
Duplicati is a good fit if you want a relatively simple, graphical tool for encrypted backups to local, remote or cloud storage. It is easier to set up than a larger backup platform, but its focus is narrower when you need to manage a complex mixed environment.
UrBackup makes more sense when you still want central management, but your needs are fairly straightforward: file backup plus image backup, especially where Windows image backup matters.
Which storage model fits best depends on the environment. The main question is which functions should be handled by the backup software itself and which can be left to the storage infrastructure?
Next, we’ll look at how these tools differ when you need to recover files, virtual machines, databases or complete systems.