Linux vs Windows backup

It can be very easy to back up Linux. Far easier than other operating systems.

The fundamental difference between Windows backups and Linux backups is that Windows has the system-specific Windows registry. Software installation, backup and recovery therefore need to work within this limitation in order to be successful. Linux on the other hand, is far simpler. Linux treats everything as a file – configuration, databases, everything.

A Linux backup and restore is therefore less dependent on the operating system. Its job is to package and unpackage the files.

In general, our customers are mostly Windows-based but often have a small number of Linux systems. A question that is frequently raised is: "what is the best backup method to protect my Linux servers or desktops?" So here is a quick review of the options.

As the average Linux user will have a far higher level of IT proficiency than the average Windows user, Linux users often devise their own backup strategy through the use of in-built system utilities, rather than requiring the purchase of additional backup software.

In businesses that are mostly Windows-based, but with perhaps one Linux engineer, the responsibility for Linux backups will sometimes fall to that individual. While that might make sense because they are the ones with the expertise, you might not want the responsibility for backups to fall to just one person. It might be better to give it to those responsible for your other backups to make sure it is included under the organisations' overarching data protection strategy.

The IT department will usually have a proprietary backup product to protect the Windows environment. Some products are Windows-specific, but good enterprise-standard backup software should also allow for the protection of Linux machines.

Is this worth doing or are you paying for something that you could just have for free? Here is a quick examination of your backup options for Linux.

Utilities

The first utility to mention is "tar". The name tar itself comes from 'tape archive' and its purpose is to collect files into an archive file. tar allows you to protect an entire directory tree structure as well as access permissions and time stamps. It is a very simple but very effective backup mechanism.
"cpio" (copy-in, copy-out) is similar to tar but whereas tar includes the files to be backed up as part of the command, cpio does not and so needs to be part of a multiple command or have a redirection pipe.

These simple utilities create the backup files but you may want to add compression to reduce size - such as "gzip" or "bzip2" - and/or encryption for security.

"rsync" is a file copying utility that lets you keep copies of a file in two places. It does the job of file sync and file transfer. You can also use rsync as a method to get those backup files offsite.

"dd" allows you to create an image of the whole disk. Whereas tar uses the file system, dd will allow you to back up at a binary level. This is the tool used in forensics to capture exactly what is on the disk. dd is less applicable to day-to-day use because it doesn't allow for incremental backups.

Open source backup software

Linux specific backup software such as Bacula, Amanda or Backupninja go beyond simple utilities and give you more control. You can use them as you would proprietary backup software to manage multiple servers, to manage the storage used for backup, handle schedules and retention periods and create alerting and monitoring.

Existing somewhere between utilities and real open source backup software are tools that take the utilities and do a bit more with them, like Duplicity which contributes encryption and bandwidth efficiency for getting the backups offsite.

Proprietary backup software

Proprietary backup software needs no real explanation – this is what most people are most familiar with. It is a product built for backup, sold to us and supported by the software maker.

The difference between proprietary and open source backup software is the difference between any type of proprietary or open source software. Open source is free but requires more (and often specific) expertise to manage it. The upside is that even if you were to pay for the supported enterprise versions of open source backup software, the direct cost is likely to be a fraction of the proprietary software cost (http://www.computerweekly.com/feature/Open-source-backup-software-gives-mainstream-backup-a-run-for-its-money)

The total cost of ownership of the two options may not be so different. Open source backup products tend to take more time and effort to setup. More popular products will have a large install-base which will increase your chance of assistance should you need it. It is not the same however as pushing the problem back to a proprietary software vendor to fix an issue.

Recommendations

Backup software is probably not the best place to deploy your open source experts. Outside software development businesses, Google, NASA and CERN, in our experience Linux experts are a scarce resource. Enterprises who do employ dedicated Linux staff usually do so for a specific purpose – and they're usually stretched fairly thin with their existing responsibilities (a generalisation, but one I don't think many would argue with). Pulling that resource away to spend time on backups isn't a great choice.

In addition, whenever you have a limited amount of resource with a very specific skill, you have a risk. Should your Linux engineer leave the organisation, it is far more difficult to maintain their unique backup method than it would be if you use proprietary software.

In larger businesses with some Linux staff for specific purposes and a majority Windows, back-office estate – the responsibility for backup for the entire business is likely to belong to the back-office team. That team will be using proprietary backup software to take care of the Windows servers / Hyper-V / VMware stack. The increase in effort for that team to take on the Linux backup isn't great. There may be some distain from the die-hard open-sourcers in using 'over engineered' proprietary software to do the job of some simple open-source scripts, but you get the benefit of consistency across all systems and a team who is responsible for backups managing your Linux backups instead of a team who is responsible for Linux, also managing their own backups.

With that being said, organisations with only a small Linux estate and only a small amount of Linux expertise may be able to manage very well using free and reliable tools.

We would recommend using proprietary backups (and a service provider to manage them) but then, of course we would.