Cloud services have saved us time and effort. We can back up essential files online and access them whenever we want. However, backing up the full operating system is typically not possible with cloud services such as Gdrive, OneDrive, etc.
Furthermore, an operating system with a large number of apps can be larger than 100GB in size. How about a Linux server? A production server regularly stores, updates, moves and deletes files.
When administering a server, the administrator must be prepared for any calamity, such as a server crash that may destroy data, inadvertently deleting vital configuration files, or, in the worst-case scenario, the server being hacked.
Uploading system files to the server will take time, and the administrator will need to sign up for a subscription plan with enough storage for the backup.
Google Drive, Gdrive, Dropbox, and other similar services are not intended to be used for systematically keeping backups. Even if you successfully package your operating system and upload it to the server, manually restoring that backup would be difficult.
In this article, I’ll discuss the best Linux backup software for PCs and servers.
Before we continue, we’d like to tell you about Contabo. We host LinuxAndUbuntu on Contabo VPS. Check them out if you need web hosting. Prices start at $6.99 per month for an 8GB RAM and 4 Core CPU VPS.
This is a must-read article if you own a Linux server. In the previous article, I discussed how to secure a Linux server. It demonstrates a variety of methods to exploit your servers. I encourage you to read the article if you haven’t already. That article will strengthen your Linux server’s security.
If your server is compromised due to a zero-day vulnerability or human error, ensure you have working backups ready to be restored to a new or the same server. Hackers frequently do not prioritize erasing your server; instead, they infect it with malicious code in order to constantly monitor it, attack other servers, and steal as much data as possible.
Backups restore server functionality. As a result, it is critical to backup your server regularly, ensure that files are not corrupted, and, most importantly, that those backup files are stored in a secure location.
Best Linux Backup Software for desktops and servers
Users can operate their PCs graphically using Linux desktops or workstations. There is some useful Linux backup software if you have a desktop computer. I’ve compiled a list of some of these applications. This is because they are simple to install and use while providing the maximum number of functions a typical user wants.
When it comes to backup software on a Linux desktop, I prefer backup software that allows automatic backup. This includes hourly, daily, weekly, and monthly backups, automatic sync backups to the cloud or local storage, and deletion of backups older than a specific amount of time.
Old backup files do not recover the most recent system. Therefore, it is critical to delete old files to make room for new ones.
If you don’t have a fast Internet connection to sync huge backup files to cloud storage, I recommend keeping backups on an external hard drive or SSD.
1. Timeshift (For desktops)
Timeshift is well-known Linux backup software. Many major Linux distributions, like Linux Mint and Manjaro, come pre-installed. However, if your distribution does not include timeshift, 99.9% of it is available in the distro repository. So, use your package manager to fetch it from the repository and install it on your machine.
There’s a reason Timeshift is included in popular distros. It is simple to use and can be configured in less than a minute. In addition, it can create system snapshots at any time.
The setup wizard will arrange everything for your initial backup. For example, it will ask where you want to save snapshots. It will also ask how long you want the backups to run. It will also ask how many snapshots you wish to retain, and which directories or partitions you wish to backup.
It also includes support for BTRFS, a modern copy-on-write filesystem. When Timeshift is installed, it launches the setup wizard and prompts you to choose a snapshot type, RSYNC, or BTRFS. Both types of snapshot have advantages and limitations.
To put it simply, when creating snapshots, the Btrfs system does not copy or destroy files. Instead, it creates a snapshot with 0 sizes. When a user adds files to the system, the data in the files is stored in blocks, and the files in snapshots point to the data blocks. As a result, rather than copying data, it builds links that point to data blocks.
If your filesystem is Btrfs, use Btrfs; otherwise, use Rsync.
It is faster than Rsync, and there is no chance of data loss when building a backup. However, the BTRFS file system disadvantages not allowing backups on external storage. This means that if the current drive fails, all backups will be lost.
Rsync, on the other hand, does not have this limitation. Rsync copies files to produce snapshots, which can then be stored on external storage. If your system disc fails, snapshots will be safe.
Though Timeshift can save snapshots on external hard drives (through Rrsync), it cannot automatically transfer them to cloud storage services such as Google Cloud or Amazon S3.
As I mentioned above, Timeshift is available in almost all distros repositories. So use your distros package manager to install timeshift in your distribution.
sudo apt install timeshift
sudo dnf install timeshift
Red Hat or CentOS
sudo yum install timeshift
2. Cloudberry (For desktops & enterprise servers)
Cloudberry is a full-service backup solution for both desktops and businesses. It includes all of the features required to create system backups.
It has a tonne of fantastic features and an easy-to-use interface. For example, cloudberry can automatically perform backup plans, erase old backups, and include or omit files from backup plans. Most notably, Cloudberry can backup to all major cloud services, including AWS, Microsoft Azure, Google Cloud, Backblaze, Wasabi, NAS (Network Attached Storage), HP Cloud, OpenStack, SFTP, local storage, external hard discs, network shares, and others.
Cloudberry can encrypt backup files and compress them for easy network transport to boost the security of your backups.
Users can protect the console with a master password to prevent unwanted access to the Cloudberry installation.
Please read the Cloudberry review I published a while ago for a more in-depth look at Cloudberry.
After installation, you can activate the free version or test the premium version. The free version is intended for personal use only and does not allow automatic backups.
Purchase the Personal edition, Server edition, or Ultimate edition for additional features such as compression and encryption. The personal edition is $29.99 per PC (one-time).
On servers, I recommend using Cloudberry. It only costs $79.99 per server, which is a small price to pay for such a useful tool. For personal use, Timeshift or the free edition of Cloudberry can be used; both offer similar functions for free.
Simply download Cloudberry from its official website and follow the on-screen instructions.
3. Bacula (For enterprise)
Bacula is a well-known backup solution that specializes in enterprise-level backup solutions. It is available in all major Linux distribution repositories, making installation easy. To install, use your distro’s package manager.
Bacula is a little tough to set up due to its focus on servers. Although once installed and configured, it is simple to manage its settings via a graphical interface or command line.
Bacula can be used to create automatic backups on a remote or local server, manage backups via CLI or GUI, add volume pools, add storage blocks, include or exclude data, and perform a variety of other tasks.
As previously stated, installing and configuring Bacula can be a time-consuming process. I recall the first time I used Bacula on Webmin. Webmin is a well-known web control panel. Bacula comes pre-installed with Webmin. Therefore, it is simpler to use Bacula with Webmin than it is to set up its own web panel or via command-line.
If you do not want to install Webmin, use the command-line interface. Install Bacula from the repository, set up its database, edit configuration files that exist at
/etc/bacula/bacula-dir.conf /etc/bacula/bacula-sd.conf /etc/bacula/bacula-fd.conf
Or, install Webmin and set up bacula.
sudo apt edit-sources
Add Webmin repository.
deb http://download.webmin.com/download/repository sarge contrib
Add GPG key.
wget http://www.webmin.com/jcameron-key.asc && sudo apt-key add jcameron-key.asc
Update and install Webmin.
sudo apt update && sudo apt install webmin -y
The installation will take a few seconds. Once installed, Webmin is available through port 10000. If port 10000 is not open on your server, open it using firewalls such as UFW or iptable.
Now visit the server_ip:10000 and authenticate yourself using server credentials (MySQL username & password).
Go to Tools > Perl Modules > Suggested modules. Install all the suggested perl modules.
Now go to System > Bacula Backup System. Run the configuration set up and enter database credentials and Save. You should now have Bacula settings.
From here, you can easily manage your backup system. But, again, bacula is not designed for desktop users, so it isn’t easy to set up and use for desktop users.
4. Rsync (For desktops & servers)
Last but not least, there’s Rsync. Rsync is the most basic yet powerful backup application for Unix-like systems. Rsync is either installed or available in the repositories on most Linux distributions.
Almost every server user uses rsync on a daily basis to transfer files within the server or between remote workstations. Its simple Command syntax allows even inexperienced users to run it.
rsync -av --delete /backup/ /destination/
The rsync command shown above will synchronize two directories. It will remove any existing files in the destination directory and copy all files in the backup directory.
Think of rsync as a file manager. It can do anything from a command line that a file manager can. One can set up cron jobs to schedule backups using rsync, use
--max-size options to exclude files by size,
--compress option to compress files,
--include options to filter files by specific patterns, and a lot more options that require a separate article.
For all available options, enter rsync in the command line.
We don’t have to worry about destination support with Rsync. If your destination is online, rsync can connect to it and transfer data to it. It could be an AWS instance, Google Cloud, or another type of cloud storage.
To transfer backup files to remote storage, we can use ssh.
rsync -avz backup/ [email protected]_address:/home/destination
I have written an entire article on how to use rsync. For more information, please head over to this article.
Rsync GUI Grsync
Grsync is a simple interface to use Rsync. Just install it from the distro repository and check it out.
What is the best backup method for Linux?
There are many backup software for Linux distributions. Once can use Timeshift, the easiest GUI backup software for Linux distributions.
What Linux backup is similar to Time Machine?
Timeshift is the easiest and the best alternative to Time Machine.
There are a plethora of other Linux backup applications available. I chose these four backup applications because they meet the needs of a wide range of users. Install Timeshift, Cloudberry, or Rsync if you’re a desktop user, and Cloudberry premium, Bacula, and Rsync if you’re a server user.
Rsync is the most customizable option on the list. If you are familiar with bash programming, you can have rsync perform anything on the filesystem and send the output to any remote server. You can also save it locally.
Please let me know if you have any better backup alternatives in the comments section below. Do you require assistance with installation or setup? Please let me know in the comments or join our Discord server.
Burp and Amanda are two other backup systems that spring to mind.
I don’t understand how you cannot have btrbk in this list. Anyone on BTRFS (which is perhaps the best for homeservers and home laptops) can maximize the efficient features of the filesystem by using btrbk.
You can create custom retention policies per subvolume, automate snapshotting AND backups to other drives, external drives (which you can also automate, upon plug of a USB disk) and even SSH.
Sending snapshots to backup drives happens via btrfs send/receive, which is basically the most secure and fastest way to create backups.
Nothing competes with btrbk at this moment. It is the default choice and could be a reason by itself to switch to BTRFS.
I think the notes around setting up Bacula with WebMin are incomplete. I installed WebMin (Dec 2021) but Bacula was not available in System. It was in Unused modules but it seems to expect Bacula to have already been installed. Does it need to be installed manually with or without WebMin?
First I tested Timeshift. I wanted to backup the entire system, root, home, yes all the files. I wanted to backup to my external hard drive. But there was never any backup there!
Next was Dejadup. Same here, no backup on the external hard drive! Not usable at all. I am looking further here for a graphical backup program that actually works.