Backup software
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 Cobian Backup, Mozy and Carbonite.)
- Bacula is the first choice.
- Amanda for linux and Windows but not back to Windows 2000.
- BackupPC
- Areca Backup is similar to Amanda but is written in Java.
- Backup and Migrate is a Drupal module to backup your Drupal Web site.
- Duplicity
- Mondo Rescue creates a recovery disk for Linux similar to a Windows recovery disk.
- Zmanda Recovery Manager backs up active MySQL databases.
- Cobian Backup is an easy and popular way to backup Windows based machines.
- Backup online
- Synchronisation software
- WinMerge is the best on Windows but is not on Linux.
- FreeFileSync
- Rsync for synchronising a hot backup machine.
- FlyBack is rsync with minor additions.
- DirSync Pro
Bacula
Bacula is the first choice because it is open source and works on every operating system. 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
Amanda could be your next choice. Amanda has client packages to backup several popular operating systems but the Windows version goes back only to XP, not Windows 2000, excluding a huge number of working Windows systems. You can administer Amanda within Webmin using an add on module downloaded separately.
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.
BackupPC
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 off 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.
Other backups
Areca 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
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.
Duplicity
No Windows client without faking it by using Cygwin. A horrible prerequisite list. It is only a little more advanced than rsync. Forget it.
Mondo Rescue
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.
Zmanda Recovery Manager
Use this to backup active MySQL databases. I guess you then have to backup the backup file using backup software.
Backup online
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
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
Carbonite have a standard version, www.carbonite.com, and a Pro version, www.carbonitepro.com. 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.
Synchronisation software
WinMerge
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.
FreeFileSync
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
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.
FlyBack
Yet another rsync with minor additions.
DirSync Pro
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.
Archive software
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.



