Introduction
Backup and recovery is essential. Failure to have verified backup and recovery procedures puts your data at risk of loss. Users often only learn this lesson after critical information they require is permanently lost. Attempting to recover from data loss can be both time consuming and extremely difficult. So learn from others mistakes, and ensure beforehand that you have a system in place that protects your data and suits your needs.
Before deciding on a backup and recovery strategy you have to ask the following questions:
Why? - Why are you protecting yourself against disaster? Does it matter if you lose data? What losses will you suffer ($$$)?
What? - What are you going to backup? Your entire hard drive or just some of the data?
When? - When is the best time to backup your system? How often will you perform a backup? When will you use full backups and incremental backups.
Where? - Where will the backups be stored? On-site? Off-Site? Cloud?
Medium? - Attached storage (usb stick, usb hard drive, tape drive), backup server?
Backup
Types of Backup
There are many methods to provide backup and recovery; choosing the best process for you or your business will have to take several factors in to account.
Recovery time objective (RTO): How fast should data be recovered? Can you continue to operate if data recovery is not recovered for a day, a week, etc?
Recovery point objective (RPO): How much data can be lost. Can you lose two hours, two days or two weeks of data?
example: if you can withstand losing one week of data then a weekly backup would be sufficient, but if you can only withstand losing one day then you would need to employ a nightly backup (or a variation)
This document will cover three basic types of backup; Full, Incremental, and Differential.
Full: A full backup backs up all the files in the back up target.
Incremental: An incremental backup backs up all the files that have changed since the last backup.
Differential: A differential backup backs up all the files that have changed since the last full backup.
Backup Methods
Depending on your budget and specific RTO and RPO you can choose from manual, local automated, or remote automated.
manual - Manual backup would be initiated on a schedule by the user and is the most common method for home users to backup their files. This method is also the least reliable.
local automated - Automated backups that target a hard drive or tape drive attached to the physical box being backed up fall into this category. Advanced home users and small businesses will often use this method.
remote automated - Automated backups that target a hard drive, tape drive or virtual tape library (VTL) over the network fall into this backup. This type of backup is often used by businesses that have money they can dedicate to the process of backup. As the organization becomes more mature they may even stage the backup on multiple mediums and increase the distance between backup and production systems.
mtime, atime and ctime
Ubuntu records three different times for each file:
- mtime - modification time; this value is changed when the contents of the file is changed.
note: file system backups change atime while raw device backups will not. If you are implementing incremental or differential backups this is important
- atime - access time; the value of this is changed when the file is accessed. The atime can also change when a backup utility or script has read the file as well as when a user has reads the file.
- ctime - change time; the value is updated whenever the attributes of the file change. This can be ownership or permission.
Recovery
note: many people consider only the backup part of this process and do nothing to verify that the backup can be restored. It is very important to test that your backup process is working and that data can be recovered.
It is crucial that your backups are tested by restoring them. Here are some tests you should do to ensure that you can recover from a disaster:
- Restore many single files
- Restore an older version of a file
- Restore an entire folder
- Restore an entire drive and compare the checksum
If you do not test you may find out that nothing was being backed up when you need to restore the files in reality.
Backup Utilities
wiki documented utilities
Utility |
Interface |
Raw / File |
Supports |
|||
Remote |
Incremental |
Differential |
Automation |
|||
Graphical (Duplicity frontend) |
FILE |
YES |
YES |
NO |
YES |
|
Graphical |
FILE |
YES |
YES |
? |
via Cron |
|
Graphical |
FILE |
YES |
YES |
? |
NO |
|
Command line |
FILE |
YES |
YES |
? |
via Cron |
|
Command line |
FILE |
YES |
YES |
? |
via Cron |
|
Command line |
RAW |
YES |
YES |
? |
via Cron |
|
Command line |
FILE |
YES |
YES |
NO |
via Cron |
|
Command line |
FILE |
YES |
YES |
? |
via Cron |
|
Both |
FILE |
YES |
YES |
? |
YES |
|
Command line |
FILE |
YES |
YES |
? |
YES |
|
Graphical |
FILE |
YES |
YES |
? |
YES |
|
Command line |
FILE |
YES |
YES |
? |
via Cron |
Alternatives
Related Links
You might also want to check out these backup programs which will help you to make automated backups of your system:
- Clonezilla with Text GUI interface, backs up whole disks with boot sectors etc.
Déjà Dup (Ubuntu's default desktop backup manager)
Discussions and Suggestions
In addition to that already discussed, there are projects still in development that you may wish to keep appraised of or even participate in.