Creating and Editing crontab Files
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
Before You Begin
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 crontabfile.
- 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.
Caution - If you accidentally type the crontab command with no option, press the interrupt
character for your editor. This character allows you to quit without saving changes.
If you instead saved changes and exited the file, the existing crontab file
would be overwritten with an empty file.
- 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 8-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.