Cron is a program for running other programs at regular intervals. It uses a file (called a crontab) to control which programs to run and when. To list your crontab file, use crontab -l.
The format of the crontab is reasonably simple. Each line (excluding blanks and those beginning with [cw]#[ecw]) has six fields: minute, hour, day, month, dayofweek, and command. For example (from the crontab man page):
# at 6:10 a.m. every day 10 6 * * * date
This allows us to set up regular backups. Like this:
# Every morning at 3 a.m., run my backup script 0 3 * * * /usr/local/bin/my_backup_script
or this:
# I only want backups on weekdays—I don't # come in at weekends to change the tape! 0 3 1-5 * * /usr/local/bin/my_backup_script
Suppose my_backup_script checks for the existence of a file called /etc/last_backup. If it exists, only back up files newer than it, if not, back up everything. We could ensure that we do a full backup every week by:
# Every Monday at 1 a.m. delete /etc/last_backup 0 1 1 * * rm /etc/last_backup
Using crontab to automatically make backups in this way saves you time, as well as allowing you to schedule the backup for a time when your system isn't being used too much. Just don't forget to change the tape each day! [Alternately, you can append each new backup to the end of the tape. See Tar and Taper for Linux, and Backing up in Linux in this issue for more details. —ED]