Home > Solaris > Crontab – Quick referance

Crontab – Quick referance

July 18, 2012

CroCrontab – Quick referance
1. Crontab Restrictions
2. Crontab Commands
3. Crontab file – syntax
4. Crontab Example
5. Crontab Environment
6. Disable Email
7. Generate log file for crontab activity

cron is a unix utility that allows tasks to be automatically run in the background at regular intervals by the cron daemon often termed as cron jobs.
Crontab (CRON TABle) is a file which contains the schedule of cron entries to be run and at specified times.Restrictions
____________
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.

Commands
export EDITOR=vi ;to specify a editor to open crontab file.

crontab -e     Edit your crontab file, or create one if it doesn’t already exist.
crontab -l      Display your crontab file.
crontab -r      Remove your crontab file.
crontab -v      Display the last time you edited your crontab file. (This option is only available on a few systems.)
Crontab file
___________
syntax :-
A crontab file has five fields for specifying day , date and time  followed by the command to be run at that interval.

Remainder for remembering this is:- give date command in unix.

Please read it in reverse order from minute.

*     *   *   *    *  command to be executed
–     –    –    –    –
|     |     |     |     |
|     |     |     |     +—– day of week (1 – 7) (monday = 1)
|     |     |     +——- month (1 – 12)
|     |     +——— day of month (1 – 31)
|     +———– hour (0 – 23)
+————- min (0 – 59)

* Indicates all possible values as in braces for that column.

Example

A line in crontab file like below  removes the tmp files from /home/someuser/tmp each day at 6:30 PM.

30     18     *     *     *         rm /home/someuser/tmp/*

Changing the parameter values as below will cause this command to run at different time schedule below :

30

0

1

1,6,12

*

— 00:30 Hrs  on 1st of Jan, June & Dec.

0

20

*

10

1-5

–8.00 PM every weekday (Mon-Fri) only in Oct.

0

0

1,10,15

*

*

— midnight on 1st ,10th & 15th of month

5,10

0

10

*

1

— At 12.05,12.10 every Monday & on 10th of every month

Environment
___________
cron invokes the command from the user’s HOME directory with the shell, (/usr/bin/sh).
cron supplies a default environment for every shell, defining:
HOME=user’s-home-directory
LOGNAME=user’s-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh

Users who desire to have their .profile executed must explicitly do so
in the crontab entry or in a script called by the entry.

Disable Email
____________

By default cron jobs sends a email to the user account executing the cronjob. If this is not needed put the following command At the end of the cron job line .

>/dev/null 2>&1

Generate log file
________________

To collect the cron execution execution log in a file :

30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log

Some practical tips:-

1) Recently i was working on solaris plotform and i default editor was not defined hence, crontab -e is working for me..however crontab -l is listing the contents. Hence i followed below method and worked.

export EDITOR=vi

then i given crontab -e… Now it worked.

2) Suppose if you are facing any problem while editing crontab file by crontab –e option follow the steps.

crontab -l > newcron
vi newcron
crontab newcron /* creates cronfile using contents of newcron

Advertisements
Categories: Solaris
%d bloggers like this: