Backup software is the software that will save your career. It is rare that you need to recover something from a backup but when you do need that backup, you need a backup that works. What software should you consider? (Updated to include Snap Backup.)
- Bacula is a great choice when you have more than one computer.
- Amanda for Linux and Windows back to Windows XP.
- Simple backup is the closest to Cobian backup for Linux and is aimed at backing up one computer.
- Areca Backup is similar to Amanda but is written in Java.
- Backup and Migrate is a Drupal module to backup your Drupal Web site.
- Mondo Rescue creates a recovery disk for Linux similar to a Windows recovery disk.
- Snap Backup requires Java.
- Zmanda Recovery Manager backs up active MySQL databases.
- Cobian Backup is an easy and popular way to backup Windows based machines.
- Ubuntu backup
- Backup online
- Synchronisation software
- Other related software
- Clonezilla is designed for disk partition replication.
Bacula is free, open source, works on every operating system, works across networks, and is a great choice when you have more than one computer. Bacula is oriented toward automated backups to a central server and is worth the extra work when you have a few machines to backup.
Bacula is a seriously good backup system in every aspect except one. The only problem is the files are stored in a proprietary format that makes them unavailable except through Bacula. You cannot browse or scan the files using the tools you use everywhere else. You are committed (or restricted depending on your viewpoint) to using Bacula for managing all aspects of your backup files. You have to be really sure about using Bacula before using it.
Bacula has a standard GUI management program named the Bat, a Web interface named Wbat, and an administration module supplied with Webmin. If you set up a NAS using Webmin on Linux, you install Bacula in Linux then switch on the Bacula module in Webmin.
Bacula is the most popular open source backup software download at Sourceforge. Bacula has Windows clients to backup windows all the way back to Windows 98, which gives Bacula the widest operating system coverage.
Amanda could be your next choice. Amanda has client packages to backup several popular operating systems. The Windows version goes back only to XP, not Windows 2000, excluding a number of old Windows systems. (Windows 2000 died out on desktop computers because Microsoft refused to let people install USB in Windows 2000.) You can administer Amanda within Webmin using an add on module downloaded separately. Amanda cannot be used to backup a computer to a prebuilt NAS because you need the server software installed on the NAS.
The one possible advantage of Amanda is the files are backed up using an open compressed file format and your operating system might be able to browse the compressed files plus perform searches. If Amanda fails, you should be able to access all your files.
A disadvantage of Amanda is their move towards using Perl. They use mostly C code for fast efficient operation and use a little bit of Perl for some new features. Instead of replacing the existing Perl code with C, they are going in the reverse direction. Their new direction is better than using Java but not a lot better. Most Linux distributions install Perl. The real test will be their Web interface. If the Web interface is based on Perl instead of PHP, integration with Web management tools will be limited.
Amanda sells in two versions, the free community edition, and the pay-for enterprise edition. there is a comparison at http://www.zmanda.com/Amanda-Enterprise-Amanda-Community-comparison.html. The critical bits are live backups for databases and the web based management console. You expect to pay for live backup software for expensive databases including Oracle. You should not have to pay for a Web based user interface considering the huge range of free resources for building Web applications.
BackupPC is written in Perl, which is not ideal but is better than Java and runs almost everywhere. There is no Webmin interface but Webmin installs Perl and you could have the BackupPC interface running along side Webmin in another Web browser window.
The BackupPC Web interface is so close to Webmin in form and function that I am tempted to try BackupPC ahead of Bacula and Amanda. BackupPC also makes the backups available for browsing at the file level using a simple Web interface similar to a lot of other Web tools we use. Webmin should grab the BackupPC file browsing for Webmin instead of making us suffer through a Java installation for just one tiny little function in Webmin.
If you use your NAS purely for backup and perform all your initial disk level setup in Linux, you could use the BackupPC Web interface instead of the Webmin Web interface.
BackupPC can reduce disk usage by avoiding the repeated saving of unchanged files. When BackupPC performs a full backup, BackPC can recognise a file that has not changed and point to the original file instead of storing a new copy. If you backup several computers and they all contain the same reference files, there will be only one copy in the original backup. There could be serious problems with this arrangement if you decided to move some of the backups to another computer where the original files are not available. You would have to use BackupPC utilities to export a complete backup.
BackupPC uses your existing standard protocols for sharing files including NFS and Samba with each protocol presenting a different set of advantages and headaches. In a large system with frequent backups you probably want the dedicated transfer protocol of Bacula. The Bacula transfer protocol also provides advantages when some of your computers are not permanently connected to your network.
One serious disadvantage of BackupPC for the non corporate desktop environment is the central control of the backup. All computers have to have all their files shared to the central system all the time. The central system then decides what to backup and when. Those shares really waste resources with continual synchronisation of file lists. The central backup might decide to backup your computer in the middle of a critical presentation or when you are trying to download something you need immediately. A far better choice is a backup you can control from your computer, one that transmits the backup file during times when you are less busy.
There is no user interface for BackupPC, only some sort of Web browser list of backup files. I have not wasted my time trying to use BackupPc for a local backup of a netbook to a USB disk.
Simple Backup is the closest to Cobian backup for Linux and is aimed at backing up one computer. Read more in Simple Backup.
Areca Backup is similar to Amanda but is written in Java and does not have a Webmin module. You have to make sure you have Java installed and your Java is one of the working versions. You then have to log into your Network Attached Storage computer at the operating system level to administer Areca Backup.
I cannot see a single reason to look at Areca Backup if you backup to Network Attached Storage. There might be something useful in the user interface if you sit at your backup server or you have remote screen access to the backup server using a KVM or have a software equivalent and a very fast network connection.
Backup and Migrate
Backup and Migrate is a Drupal module to backup your Drupal Web site. The current module backs up the database and a separate module backs up the files. You do not need the file backup module if you are already backing up with Amanda, BackpPC, or Bacula.
Backup and Recovery is important when you have your Web site on one machine and your database on another machine. You export your database to the Web server machine as a regular file that is included in the file level backup of your Web server.
If you have databases other than your Drupal Web site database, you could use Zmanda Recovery Manager so that all your databases are backed up together. Backup and Recovery can still be useful to create copies of your Web site for testing, quality assurance, and practising upgrades.
Cobian Backup is only available for Windows but it has versions from every version of Windows from Windows 95 to 7. Cobian Backup is a good choice for a simple backup of a Windows machine. You could backup to a non windows machine using a file share. Version 8 of Cobian Backup is free and open source. Later versions are free but not open source. Read more in Cobian Backup.
Déjà Dup backup Tool
Déjà Dup backup Tool is a pretty face for Duplicity. Déjà Dup backup Tool is easy to install on Ubuntu Linux then everything falls in a heap. You get a synchronisation action, not a backup. If you accidentally delete a file now then try to restore the file after the next sync, the file is gone form the synced disk. For a real backup, you need software that keeps multiple versions of each file.
No Windows client without faking it by using Cygwin. A horrible prerequisite list. It is only a little more advanced than rsync. Forget it.
Duplicity is a pretty face for librsync and is not very pretty. The user interface is the old 1950s DOS/Unix/Linux command line interface. Ii was a bad idea reviving that style of interface in the 1980s. Why would you revive it again 30 years later?
If you really want to suffer through Duplicity, install Déjà Dup backup Tool.
You run Mondo Rescue against a working Linux or Unix machine to create a recovery disk similar to a Windows recovery disk. The one difference is than the recovery disk contains both the operating system and the recovery information. You have to recreate the recovery disk each time you change the configuration of the operating system so use rewritable CDs or DVDs.
The data is not included in the recovery disk so you still need backup software. All Mondo Rescue does is get you back to the point where you can start your backup client to request file restoration.
To recover your NAS, you need a recovery disk for your NAS built from your NAS each time you change something in the operating system. Security updates to your operating system might not be important because they can be reapplied after you recover. Anything that updates a hardware driver could be important. When your NAS boot disk breaks, you need a working operating system disk to boot from and rebuild the boot disk. My NAS has no hardware driver changes after the initial build which means the original operating system disk will work.
Desktop computers are more likely to need a recovery disk because you add and change hardware more often. You also are more likely to install the latest hardware and have to download a special driver. After the hard work of installing the extra drivers, you create a recovery disk combining the operating system and extra drivers.
Snap Backup backs up everything to one Zip file, a .zip file. You restore by using unzip, 7-zip, or similar to extract files from the .zip file.the .zip file is limited to 4 GigaBytes.
When you try to find a missing file, you might have to search through many daily .zip files. You might have to search the .zip files one at a time depending on how smart your operating system is. The .zip file saves disk space but makes finding a backup file difficult.
The following description from their web site.
The first time you run Snap Backup, you configure where your data files reside and where to create backup files. You can also specify an archive location, such as a USB flash drive (memory stick) or external hard drive, for storing backup files. Snap Backup automatically puts the current date in the backup file name, alleviating you from the tedious task of renaming your backup file every time you backup. The backup file is a single compressed file that can be read by zip programs such as gzip, 7-Zip, The Unarchiver, and Mac's built-in Archive Utility.
TimeVault is a basic backup program only at version 0.7 and may take a while to reach a level usable for your need. Apple produced what looks like a clone of Backula but without the flexibility and named the application Time Machine. TimeVault is written in Python, made to look and work like Time Machine, and should work anywhere you can use Python plus file links.
Both the Time Machine and TimeVault assume you want to delete a file when the original is deleted but that is not true for most backups. If you use TimeVault or Time Machine, you would use it only for daily snapshots. You would still need an application to archive files.
FlyBack is an alternative with some extra flexibility and compatibility because it uses standard rsync to copy files.
Zmanda Recovery Manager
Use this to backup active MySQL databases. I guess you then have to backup the backup file using backup software.
Here are the file backup programs you find in the Ubuntu software centre.
File Backup Manager
File Backup Manager is a graphical front end for the rdiff-backup utility. rdiff-backup does not compress files or encrypt the result. Consider File Backup Manager for backups across internal networks, not the Internet. I tried it once then stopped because a useless error message did not provide enough information to diagnose a simple error. Read more...
KBackup is described as simple but the download is massive because it has to download most of KDE. Read about KBackup at http://kde-apps.org/content/show.php/KBackup?content=44998.
The input is a file or directory. The backup can be a full backup or an incremental backup. The output is a .tar file containing the backup and the .tar file is compressed as bzip or gzip. KBackup looks like a good simple program until you see the 57 MegaByte download and realise the KDE stuff is wasting 195 MB on disk.
Backing up online makes sense when you do use a portable computer and do not have your own online server. Storage costs in USA are so cheap that the storage component of an online service is trivial. The real cost will be your broadband upload cost. If you pay per byte or pay extra when you exceed an upload limit, your cost increase by a huge amount.
People with an unlimited access account will find limit to their upload speed and may have to pay more to get a faster upload speed. ADSL, the most common form of broadband, has a very slow upload compared to download speed. Your first backup of everything will be very slow. Frequent backups of large files will be slow. You would not use this type of service when you edit video files. You might have to change from an economy broadband service, usually sold for home use, to something expensive, usually sold as a business plan, to get a useful upload speed.
If you are in Australia and use an online service to backup files containing customer information, you could be in breach of Australia's privacy laws. Consider performing a local backup to an encrypted file then a backup of the encrypted file to an online serviced. Carbonite is one service that encrypts before transmission.
Mozy is owned by EMC, a leader in the storage area, giving you confidence in their ability to backup. There is a free home edition with a limitation of 2 gigabytes of backup. The US$4.95 per month pro edition currently provides unlimited storage but will be limited by your upload speed. I am sure they will bring in more expensive versions for larger companies or a requirement to have an account per server.
There are backup programs for Windows and Mac with new features going into the Windows version first. The Windows version 2 also backs up to a local device giving you faster access for some purposes. Using the example of editing huge video files, you might be able to set version 2 of the Mozy client to perform a local backup of the video files each time you save an edit them then perform a single online backup of the finished files.
Carbonite have a standard version and a Pro version. Carbonite offers a free trial instead of a free version. Their basic package costs US$50 per year instead of US $59.40 (12 x $4.95). The data is encrypted before sending across the network.
WinMerge is the best comparison and synchronisation application for Windows but is not available for Linux. You can compare files based on the usual size and date. You can also compare the exact contents to pick up quick changes that do not alter the file length. A full comparison is slow and accurate.
You can create diff files for updating code or text on other machines. You can delete files from either side of the comparison or both in one step.
The one useful thing you cannot do is create point in time backups. What you would use WinMerge for is to compare a system to a backup to see what has changed. Suppose your customer tells you their server is different to last and they claim they did not make the changes. You could use WinMerge to compare backup directories to the current system to pinpoint the changes made each day.
Read about WinMerge and download from winmerge.org.
Open source. Runs on Windows and Linux. What more could you want? There is no user manual. It synchronises only on file date and file length, not CRC or equivalent. You could perform a sync and miss files with minor corrections that do not change the file length. It is simple but limited.
The comparison step does an unusual thing. It reads one disk first and writes the result into a file on the first disk then it reads the second disk and compares the second disk to the summary file. You have to make sure the program has access to write to the first disk. The one advantage of this approach occurs when you compare two partitions on the same disk because you cut down on the disk head activity. Performance will be much better if you can tell the program to locate the comparison file on a completely different disk.
Download from sourceforge.net/projects/freefilesync/.
Rsync is a common way to make a fast backup from one computer to another but then it falls down. You cannot have version control and point in time recovery. After you use rsync to get updated files from your computer to a share on a NAS, you still need a backup program to create daily backups to Bluray disks.
You could run rsync to backup to your NAS then run Amanda or Bacula to backup on the NAS from the backup directory to separate media. There is not much point in using rsync with Bacula or Amanda because both Amanda and Bacula have a better range of clients.
You could use rsync to backup across a network to a remote NAS so you have offsite backup. This would be separate to your point in time recovery backups and you might have a point in time backup running on the remote NAS.
Yet another rsync with minor additions. Flyback is designed to look a bit like Time Machine, an Apple Mac snapshot tool, and competes against TimeVault. By using rsync as the sync tool, they make the backup compatible with a lot of other tools. You could restore using something other than Flyback.
DirSync Pro is a directory sync program that depends on the directory being shared to sync it to another machine. It is another program that requires a working Java. it does not offer any advantage over rsync, Winmerge, and a whole lot of other sync programs other than the ability to set it up quickly to run a temporary copy if Java is already working on the machine performing the sync.
other backup software
Clonezilla is designed to clone disk partitions for replication of computers and may be used to backup the contents of a disk when moving a disk from one computer to another. You can load Clonezilla under Linux from a CD to recover data from a broken computer.
7-zip, zip, tar, gzip, DAR, dump, cpio, and similar programs let you stuff a lot of files and directories into one file that is smaller than the sum of the parts. 7-zip is the most modern, flexible, and efficient.
These are not backup utilities, they are utilities than can be used by a backup utility or manually as part of a backup procedure.
Googling for help
I searched Google for Linux backup software with a user interface. Google returned stuff from 2006 listing backup software with no user interface. I eventually found a page listing Linux backup tools with Graphical User Interfaces but most of the listed programs do not have a user interface. Googling for help is a big waste of time.