While Linux is still growing as a desktop operating system, it has proven itself as a server operating system for years now. File/disk backups are a very important function of any OS, and more so for one that is used on servers. Linux has had some of the best backup solutions available for everything, right from those needed for a single desktop or a small home office to a mega-enterprise running server clusters and storing terabytes of data. And with the growth in the desktop area, many of these tools have frontends available which make it easy for even relative newbies to create and store backups like a seasoned network administrator. All this comes with the same level of stability and security that is expected from Linux. The software we profile in this article use tried and tested backend applications like rsync to do their bidding. So what you get is a great combination of Linux stability with newbie-friendly graphical interfaces and web interfaces. We will take a look at a few of them here.
Flyback: Inspired by Apple’s Time Machine, the guys at Flyback have used Linux technology and software to build an alternative. Although the software is quite new, the premise is solid and development is fast. Flyback allows you to take snapshots of your backup source and allows you to navigate through them while letting you recover and work with different versions of the same files. Although the software is created by one man, the level of polish is impressive, and it is an easy application that can allow you to store backups in a systematic format. Flyback should be included in your distribution’s package manager and installing it should be simple. If your distribution does not offer flyback, you can get it from here.
Running it is as simple as launching it from the Applications -> System Tools Menu.
Home users familiar with Norton Ghost will find themselves immediately comfortable with Clonezilla. The premise is the same; creating full-disk backups for single machines and large deployment with network backup and restore. It comes in 2 flavors, Clonezilla Live and Clonezilla SE (Server Edition). The Live version will suffice for home and small office users who want daily backups of their work and personal information. The Server Edition, on the other hand, can be deployed across a network and can allow you to clone multiple computers simultaneously.
The software was first created as Clonezilla SE, but it required jumping through various hoops to make it functional; fine if you’re deploying it on a network, but way too much work for a single machine. To address this, the Free Software Lab at NCHC combined it with Debian Live to produce Clonezilla Live. Clonezilla Live can be used to clone individual computers using a CD/DVD or USB flash drive. Though the image size is limited by the boot media’s storage capacity, this problem can be eliminated by using a network filesystem such as sshfs or samba. It can be run off a CD/DVD, USB, hard drive or PXE.
To use it, download the relevant ISO image from here.
The links are for the image of Clonezilla based on either Debian or Ubuntu, and it does not matter which distribution of Linux you are running. If you wish to run it off a USB drive, download the files and use the guide here to make it ready. If you wish to run it off your hard drive, use the guide here.
Duplicity: While Clonezilla is a foolproof solution, it doesn’t do incremental backups. Each backup is a complete copy of the source, which can start taking up huge amounts of space very quickly. Incremental backups are the answer, and that’s where Duplicity shines. Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.
If your distribution’s package manager includes Duplicity, it should be a single command that will set it up for you. For the rest, you can get it from here.
Please refer to further documentation at https://duplicity.nongnu.org/docs.html
BackupPC: Moving away towards enterprise-grade solutions, BackupPC is one of the simpler backup methods for large deployments. It is installed on a bare-metal server as an Operating System and it allows you to configure and setup the storage and backups via a Web frontend. The list of features is long, and here are a few of them:
- The software pools your backups coming in from various machines. So duplicate files are not stored in backups, reducing storage face by a huge factor.
- One example of disk use: 95 laptops with each full backup averaging 3.6 GB each, and each incremental averaging about 0.3GB. Storing three weekly full backups and six incremental backups per laptop is around 1200GB of raw data, but because of pooling and compression only 150GB is needed for the actual backups. That is a reduction of almost 80% of the space that would actually be required.
- The software also supports compression which reduces the size of backups further. And since you’re only creating incremental backups, the overhead required for compression is low.
- No client-side software is needed. The standard Windows File Sharing protocol is used to extract backup data on Windows clients. On Linux clients, tar over ssh/rsh/nfs is used to backup the data. With version 2.0.0, rsync is also supported on any client that has rsync or rysncd. All these software applications are already available in the respective operating systems, so additional work is not required on them.
- You have the ability to use a powerful web interface to manage everything from logs and storage status to adding more disks and changing backup settings.
- A full set of restore options is supported, including direct restore (via smbclient, tar, or rsync/rsyncd) or downloading a zip or tar file.
- Supports mobile environments where laptops are only intermittently connected to the network and have dynamic IP addresses (DHCP).
- Flexible configuration parameters allow multiple backups to be performed in parallel, specification of which shares to backup, which directories to backup or not backup, various schedules for full and incremental backups, schedules for email reminders to users, and so on. Configuration parameters can be set system-wide or also on a per-PC basis.
- Users are sent periodic email reminders if their PC has not recently been backed up. Email content, timing and policies are configurable.
Here are a few screenshots:
BackupPC can be downloaded in ISO form from here.
Bacula: While BackupPC is a simple deployment for enterprises, Bacula is the granddaddy of enterprise backup solutions. Proof of that is in the SourceForge statistics, which rate Bacula as the most popular enterprise-grade Open Source program by far. Bacula is a set of computer programs that permits the system administrator to manage backup, recovery, and verification of computer data across a network of computers of different kinds. Bacula can also run entirely upon a single computer and can backup to various types of media, including tape and disk.
In technical terms, it is a network Client/Server based backup program. Bacula is relatively easy to use and efficient, while offering many advanced storage management features that make it easy to find and recover lost or damaged files. Due to its modular design, Bacula is scalable from small single computer systems to systems consisting of hundreds of computers located over a large network.
While Bacula is primarily a command-line based tool, there are many frontends available for it. A couple of them are BAT (Bacula Admin Tool) and Bweb (Bacula web interface).
You can navigate to Bacula’s site for the documentation and download details.