Ways to Automatically Execute System Tasks
You can set up many system tasks to execute automatically. Some of these
tasks should occur at regular intervals. Other tasks need to run only once,
perhaps during off hours such as evenings or weekends.
This section contains overview information about two commands, crontab and at, which enable you
to schedule routine tasks to execute automatically. The crontab command schedules
repetitive commands. The at command schedules tasks that execute once.
The following table summarizes crontab and at commands, as well as the
files that enable you to control access to these commands.
Table 8-1 Command Summary: Scheduling System Tasks
Command |
What It Schedules |
Location of
Files |
Files That Control Access |
crontab |
Multiple system tasks at regular intervals |
/var/spool/cron/crontabs |
/etc/cron.d/cron.allow and /etc/cron.d/cron.deny |
at
|
A single system task |
/var/spool/cron/atjobs |
/etc/cron.d/at.deny |
You can also use the Solaris Management Console's Scheduled Jobs tool to schedule
routine tasks. For information on using and starting the Solaris Management Console, see
Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
For Scheduling Repetitive Jobs: crontab
You can schedule routine system administration tasks to execute daily, weekly, or monthly
by using the crontab command.
Daily crontab system administration tasks might include the following:
Removing files more than a few days old from temporary directories
Executing accounting summary commands
Taking snapshots of the system by using the df and ps commands
Performing daily security monitoring
Running system backups
Weekly crontab system administration tasks might include the following:
Monthly crontab system administration tasks might include the following:
Additionally, users can schedule crontab commands to execute other routine system tasks,
such as sending reminders and removing backup files.
For step-by-step instructions on scheduling crontab jobs, see How to Create or Edit a crontab File.
For Scheduling a Single Job: at
The at command allows you to schedule a job for execution at a
later time. The job can consist of a single command or a script.
Similar to crontab, the at command allows you to schedule the automatic execution
of routine tasks. However, unlike crontab files, at files execute their tasks
once. Then, they are removed from their directory. Therefore, the at command is
most useful for running simple commands or scripts that direct output into separate
files for later examination.
Submitting an at job involves typing a command and following the at command
syntax to specify options to schedule the time your job will be executed.
For more information about submitting at jobs, see Description of the at Command.
The at command stores the command or script you ran, along with a
copy of your current environment variable, in the /var/spool/cron/atjobs directory. Your at job
file name is given a long number that specifies its location in the
at queue, followed by the .a extension, such as 793962000.a.
The cron daemon checks for at jobs at startup and listens for new
jobs that are submitted. After the cron daemon executes an at job, the
at job's file is removed from the atjobs directory. For more information, see the
at(1) man page.
For step-by-step instructions on scheduling at jobs, see How to Create an at Job.