Creating a Backup Schedule
The best way to insure that backups are done in a consistent and timely
manner is to establish a backup schedule. When creating a backup schedule,
the ultimate goal is the ability to restore the entire system, or systems,
in a reasonable amount of time. However, disaster recovery is not the only
consideration. Daily convenience also needs to be taken into account.
A good backup scheme should incorporate an easy way to restore individual
files that may inadvertently get deleted. Other considerations include the
amount of time needed to do backups and how much that will interfere with
daily use of the system. Other crucial questions include:
- What files need to be backed up?
- Ideally everything on the system is included in a backup scheme. But
issues of cost, convenience and time may make this impractical. There are
other options such as copying the entire system to a second hard drive and
then performing incremental backups.
- Where are the files that need to be backed up?
- Which systems and filesystem hold the important data?
- Who will actually make the backups?
- This involves determining how much responsibility for backups will fall
to the system administrator, how much responsibility will be given to users in
terms of backing up their own data, etc.
- When, where and how will backups be made?
- Which system will be used for backups? Will backups be done remotely? What
time of day is best? Should mounted or only unmounted filesystems be
considered?
Most Unix documentation recommends that filesystems be
unmounted before a backup is performed. In practice this rarely ever happens.
Backups can be performed on mounted filesystems, but open files are not
always backed up correctly.
- How often do the files that need to be backed up change?
- This is crucial in deciding when and how often backups need to be made.
- How quickly do key files need to be restored?
- This helps establish a time frame for the restoration of important files.
When thinking in terms of time the number of key files needs to be considered
as well as how large they are.
- Where will the files be restored?
- Is that data meant to only be restored to the system it came from or
might
it need to be restored to a different system in an emergency?
These requirements need to be matched with appropriate types of backups.
- Day zero
- A complete backup of every file and program on the system taken shortly
after the system is set up.
- Full backup
- A full backup of every file specified in the included list. These
should be done on some
sort of regular basis. In addition, a full backup should be considered whenever
a major change is made to the system such as an operating system upgrade.
- Incremental backup
- Incrementals are usually done more often than full backups. An
incremental creates a copy of all the files that have changed since a
previous backup.
Backup levels are used to distinguish between different types of backups.
A level 0 is a full backup. A level 1 incremental means backing up everything
that has changed since the last level 0. A level 2 incremental copies all the
files that have changed since the last level 1 and so on.
Some files like /tmp may never need to be backed up. All dynamic
files on the system should be backed up. These include:
- Password and group files
- Accounting files
- Configuration files
- Terminal and port files such as:
- ttys
- inittab
- gettydefs
- ttytypes
- UUCP files such as:
- devices
- L-devices
- dialers
- L.sys
- Network files such as:
- localhosts
- networks
- inetd.conf
- route
- hosts.equiv
- netgroup
- /.rhosts
- Cron files
Backup requirements vary from site to site. The following is an example
of backup schedule from the O'Reilly and Associates Inc. book, "Essential
System Administration" (second edition), written by Æleen Frisch,
ISBN 1-56-592-127-5.
Monday
Level 0 (full) backup
Tuesday
Level 1 (incremental) backup
Wednesday
Level 1 (incremental) backup
Thursday
Level 1 (incremental) backup
Friday
Level 1 (incremental) backup
--"Essential System Administration" (second edition, page 470)
Or for sites with more active systems:
First Monday of month
Level 0 (full)
All other Mondays
Level 1 (incremental to previous Level 0)
Tuesday
Level 2 (daily incremental to previous Level 1)
Wednesday
Level 2 (daily incremental to previous Level 1)
Thursday
Level 2 (daily incremental to previous Level 1)
Friday
Level 2 (daily incremental to previous Level 1)
--"Essential System Administration" (second edition, page 470)
On systems with rapidly changing files, such as large databases,
incrementals may need to be done hourly or several times a day.