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.
Most systems remove the contents of /tmp
when the system reboots, but if you keep it up for a long time, you may ...
Get Running Linux, Third 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.