Submits, edits, lists, or removes cron jobs.
crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v [UserName] | File ]
The crontab command submits, edits, lists, or removes cron jobs. A cron job is a command run by the cron daemon at regularly scheduled intervals. To submit a cron job, specify the crontab command with the -e flag. The crontab command invokes an editing session that allows you to create a crontab file. You create entries for each cron job in this file. Each entry must be in a form acceptable to the cron daemon. For information on creating entries, see the crontab File Entry Format section.
When you finish creating entries and exit the file, the crontab command copies it into the /var/spool/cron/crontabs directory and places it in a file named for your current user name. If a file with your name already exists in the crontabs directory, the crontab command overwrites it.
Alternatively, you can create a crontab file by specifying the File parameter. If the file exists, it must be in the format the cron daemon expects. If the file does not exist, the crontab command invokes the editor. If the EDITOR environment variable exists, the command invokes the editor it specifies. Otherwise, the crontab command uses the vi editor.
To list the contents of your crontab file, specify the crontab command with the -l flag. To remove an existing file, use the -r flag.
The optional UserName parameter can be used by the owner of the crontab file or by the root user to edit, list, remove, or verify the status of the cron jobs for the specified user. If the UserName is invalid, an error message is generated and the program exits.
If the optional UserName parameter is not specified, the crontab flags are available for the root user and the current user.
Only the root user or the owner of the crontab file can use UserName following the -e, -l, -r, and -v flags to edit, list, remove, or verify the crontab file of the specified user.
The cron daemon runs commands according to the crontab file entries. Unless you redirect the output of a cron job to standard output or error, the cron daemon mails you any command output or errors. If you specify a cron job incorrectly in your crontab file, the cron daemon does not run the job.
The cron daemon examines crontab files only when the cron daemon is initialized. When you make changes to your crontab file using the crontab command, a message indicating the change is sent to the cron daemon. This eliminates the overhead of checking for new or changed files at regularly scheduled intervals.
The /var/adm/cron/cron.allow and /var/adm/cron/cron.deny files control which users can use the crontab command. A root user can create, edit, or delete these files. Entries in these files are user login names with one name to a line. If your login ID is associated with more than one login name, the crontab command uses the first login name that is in the /etc/passwd file, regardless of which login name you might actually be using. Also, to allow users to start cron jobs, the daemon attribute in the /etc/security/user file should be set to TRUE , using the chuser command.
The following is an example of an cron.allow file:
If the cron.allow file exists, only users whose login names appear in it can use the crontab command. The root user's log name must appear in the cron.allow file if the file exists. A system administrator can explicitly stop a user from using the crontab command by listing the user's login name in the cron.deny file. If only the cron.deny file exists, any user whose name does not appear in the file can use the crontab command.
A user cannot use the crontab command if one of the following is true:
If neither the cron.allow nor the cron.deny file exists, only someone with root user authority can submit a job with the crontab command.
A crontab file contains entries for each cron job. Entries are separated by newline characters. Each crontab file entry contains six fields separated by spaces or tabs in the following form:
minute hour day_of_month month weekday command
These fields accept the following values:
| minute | 0 through 59 |
| hour | 0 through 23 |
| day_of_month | 1 through 31 |
| month | 1 through 12 |
| weekday | 0 through 6 for Sunday through Saturday |
| command | a shell command |
You must specify a value for each field. Except for the command field, these fields can contain the following:
Note: Any character preceded by a backslash (including the %) causes that character to be treated literally. The specification of days may be made by two fields (day of the month and day of the week). If you specify both as a list of elements, both are adhered to. For example, the following entry:would run command on the first and fifteenth days of each month, as well as every Monday. To specify days by only one field, the other field should contain an * .
| -e UserName | Edits a copy of the user's crontab file or creates an empty file to edit if the crontab file does not exist for a valid UserName. When editing is complete, the file is copied into the crontab directory as the user's crontab file. |
| -l UserName | Lists the user's crontab file. |
| -r UserName | Removes the user's crontab file from the crontab directory. |
| -v UserName | Lists the status of the user's cron jobs. |
Auditing Events: If the auditing subsystem has been properly configured and is enabled, the crontab command generates the following audit record (event) every time the command is run:
| Event | Information |
|---|---|
| CRON_JobRemove | Lists which users removed a cron job and when. |
| CRON_JobAdd | Lists which users added a cron job and when. |
This command returns the following exit values:
| 0 | Successful completion. |
| >0 | An error occurred. |
crontab mycronjobsThe file will be copied as:
/var/spool/cron/crontabs/<username>
where <username> is your current user
name.0 * * * * echo The hour is `date` . >/dev/console
30 6 * * 1,3,5 /usr/bin/calendar
30 6 * * * /usr/bin/calendar
0 0 * 8 * /u/harry/bin/maintenance
0 16 * 12 5 /usr/sbin/wall%HAPPY HOLIDAY!%Remember to turn in your time card.The text following the % (percent sign) defines the standard input to the wall command as:
HAPPY HOLIDAY! Remember to turn in your time card.
| /var/adm/cron/FIFO | A named pipe that sends messages to the cron daemon when new jobs are submitted with the crontab or at command. |
| /var/spool/cron/crontabs | Specifies the crontab spool area. |
| /var/adm/cron/cron.allow | Specifies a list of users allowed access to the crontab command. |
| /var/adm/cron/cron.deny | Specifies a list of users denied access to the crontab command. |