- Backing up files is very important - for companies, data can be very valuable, and in the event of an accident or attack, data must be recoverable.
- Backing up files can be expensive, but the cost of not backing up can be much worse, especially if sensitive data is lost.
- Backup systems are provisioned to provide a service when the primary servers fail.
- Backup systems may involve hardware redundancy, multiple connections, multiple sites or cloud/offline storage.
- Strategies for backup include full backing, differential backup, incremental backup and disk mirroring.
Large data centers will often have backup systems. These will take over if anything goes wrong with the primary systems. This can include:
- a backup power supply run from batteries
- redundant hardware that is set up as a "copy" of working hardware which can be switched out
- Multiple network connections to the Internet
- Multiple sites hosting the same data - if one goes offline, another can take over
- Backing up data to a cloud server, or to offline storage
Data must be backed up regularly so that if the original system is compromised or breaks down, it can be recovered quickly.
- A full backup is made by copying the entire system's data
- A differential backup is made by copying data that has changed since the last full backup. This takes less time than a full backup.
- An incremental backup is made by copying data that has changed since the last differential backup was made. This takes less time than any other kind of backup, but will take longer to restore, as the various levels of changes need to be applied in reverse to back up files.
- Disk mirrors, such as using RAID (redundant array of inexpensive/independent disks), can copy all changes made on one disk to another set of disks. This not only provides a backup, but can make reading data faster as data can be transferred from any disk when a file is read. Disk mirroring does not provide incremental backup, so if a mistake is made to the data, it will be replicated to all disks in the array.