Cron is a UNIX, Solaris utility that allows tasks to be automatically run in the background at regular intervals by the cron daemon. These tasks are often termed as cron jobs in UNIX, Solaris. Crontab (CRON Table) is a file which contains the schedule of cron entries to be run and at specified times.
You can execute crontab if your name appears in the file /usr/lib/cron/cron.allow.
If that file does not exist, you can use crontab if your name does not appear in the file /usr/lib/cron/cron.deny.
If only cron.deny exists and is empty, all users can use crontab. If neither file exists, only the root user can use crontab. The allow/deny files consist of one user name per line.
2. Crontab Commands
A Crontab file has five fields for specifying day, date and time followed by the command to be run at that interval.
(*) in the value field means all legal values as in braces for that column.
The value column can have a (*) or a list of elements separated by commas. An element is either a number in the ranges shown above or two numbers in the range separated by a hyphen (meaning an inclusive range).
4. Procedure to schedule Cronjob
- If you are about to schedule cronjob then login with the user (e.g. ora<SID>, <SID>adm)
- Get into the k shell by executing command as #ksh
- Export the vi editor in k shell by executing #Export EDITOR=vi, By executing this command vi editor commands will be available for use
- To display the contents of cron file (if existing) execute command #crontab –l
- If file doesn’t exist then create the file by command #crontab -e
- Include the schedule of job and save the file.
- Example 1: Below job will run on Every Wednesday on 21:00
1. The Script file full_backup_dep.sh from /oracle/DEP/11202/script directory will be executed.
2. Log will be written to full_backup_dep.log file in /oracle/DEP/11202/scripts directory.
3. ( >) Symbol Overwrites on the old log file.
4. (>>) symbol will append the log file contents.
5. By default cron jobs sends an email to the user account executing the cronjob. If this is not needed then put “2>&1” at the end of the cron job line which will push all UNIX details to log file.
- Example 2: Below job will run four times a day after the gap of six hours i.e. 00:10, 6:10, 12:10, 18:10
- Example 3: Below job will run all the days of week at 19:00