The simplest way to create a crontab
file is to use the crontab -e command. This command invokes the text editor that has been set
for your system environment. The default editor for your system environment is defined
in the EDITOR
environment variable. If this variable has not
been set, the crontab command uses the default editor, ed. Preferably, you should choose an editor that you know well.
The following example shows how to determine if an editor has been defined, and how to set up vi as the default.
$which $EDITOR
$ $EDITOR=vi
$export EDITOR
When you create a crontab
file, it is automatically placed
in the /var/spool/cron/crontabs
directory and is given your user
name. You can create or edit a crontab
file for another user,
or root
, if you have superuser privileges.
How to Create or Edit a crontab
File
If you are creating or editing a crontab
file that belongs
to root
or another user you must become superuser or assume an
equivalent role. Roles contain authorizations and privileged commands. For more information
about roles, see
Configuring RBAC (Task Map) in System Administration Guide: Security Services
You do not need to become superuser to edit your own crontab
file.
Create a new crontab
file,
or edit an existing file.
$crontab -e
[username
]
where username
specifies the name of the user's account
for which you want to create or edit a crontab
file. You can
create your own crontab
file without superuser privileges, but
you must have superuser privileges to creating or edit a crontab
file
for root
or another user.
Add command lines to the crontab
file.
Follow the syntax described in Syntax of crontab
File Entries. The crontab
file will be placed
in the /var/spool/cron/crontabs
directory.
Verify your crontab
file
changes.
#crontab -l
[username
]
Example 15.1. Creating a crontab
File
The following example shows how to create a crontab
file
for another user.
# crontab -e jones
The following command entry added to a new crontab
file
automatically removes any log files from the user's home directory at 1:00 a.m. every
Sunday morning. Because the command entry does not redirect output, redirect characters
are added to the command line after *.log
. Doing so ensures that
the command executes properly.
# This command helps clean up user accounts. 1 0 * * 0 rm /home/jones/*.log > /dev/null 2>&1
How to Verify That a crontab
File Exists
To verify that a crontab
file exists for a user,
use the ls -l command in the /var/spool/cron/crontabs
directory. For example, the following output shows that crontab
files exist for users jones
and smith
.
$ ls -l /var/spool/cron/crontabs
-rw-r--r-- 1 root sys 190 Feb 26 16:23 adm
-rw------- 1 root staff 225 Mar 1 9:19 jones
-rw-r--r-- 1 root root 1063 Feb 26 16:23 lp
-rw-r--r-- 1 root sys 441 Feb 26 16:25 root
-rw------- 1 root staff 60 Mar 1 9:15 smith
-rw-r--r-- 1 root sys 308 Feb 26 16:23 sys
Verify the contents of user's crontab
file by using the crontab -l command as described in How to Display a crontab File.