Scheduling Jobs Using cron
The original purpose of the computer was to automate routine tasks. If you must back up your disk at 1:00 A.M. every day, why should you have to enter the commands manually each time — particularly if it means getting out of bed? You should be able to tell the computer to do it and then forget about it. On Unix systems, cron exists to perform this automating function. Briefly, you use cron by running the crontab command and entering lines in a special format recognized by cron. Each line specifies a command to run and when to run it.
Behind your back,
crontab saves your commands in a file bearing your
username in the /var/spool/cron/crontabs
directory. (For instance, the crontab file for
user mdw
would be called
/var/spool/cron/crontabs/mdw
.) A daemon called
crond reads this file regularly and executes the
commands at the proper times. One of the rc
files on your system starts up crond when the
system boots. There actually is no command named
cron, only the crontab utility
and the crond daemon.
On some systems, use of cron is limited to the
root
user. In any case, let’s
look at a useful command you might want to run as
root
and show how you’d specify
it as a crontab entry. Suppose that every day
you’d like to clean old files out of the
/tmp
directory, which is supposed to serve as
temporary storage for files created by lots of utilities.
Notice that cron never writes anything to the console. All output and error messages are sent as an email message ...
Get Running Linux, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.