Crontab: The Job Scheduler in Linux

Crontab: The Job Scheduler in Linux

What is Cron ?

Cron is a daemon in Unix like operating systems,which schedule’s the jobs based on the given time and runs in the background of your system.It also enables the local user of the system to schedule their jobs.

How to use the Cron ?

The Cron jobs are stored in a separate crontab (cron table) file for each and every user of the  system.

To start the cron service

# service crond start

To add or edit a scheduled job in crontab file, use the following command

# crontab  -e                    // the option -e is to to edit the crontab file

Syntax of crontab file

The Crontab file consist of 6 fields,on that first 5 fields for time and the last 1 field is for command.The syntax for crontab file is shown below

*   *   *   *   *     [command line]
│   │   │   │   │
│   │   │   │   │
│   │   │   │   └—– day of week (0 – 6) (Sunday=0 )
│   │   │   └———- month of the year (1 – 12) (January=1)
│   │   └————— day of month (1 – 31)
│   └——————– hour of the day (0 – 23)
└————————- minute of the hour (0 – 59)

The above mentioned fields are mandatory to schedule the job in cron.Their is one more field in cron which is not mandatory and not used by most of the times, that field is “YEAR” which comes after the “day of week” .

Expressions used in Cron

Crontab file uses some special characters to represent a set of times.

Astriek (*)    ===> This Matches the all values of the fields e.g: 30 10 * * * it run at 10:30 am and the star are indicates the everyday,every month and every week

Slash (/)      ===> It describe the increment ranges e.g: 30 9 */5 * * it run at 9.30 pm of every 5 days once in all the month and weeks

Comma (,)   ===> It used to Seprate the values e.g: 0 10 * 2,6,11 * It run at 10 pm of everyday and every weeks at the month of feb,jun and nov.

Hyphen (-)   ===> This symbol representes the inbetween time e.g. 5-30/5 * * * * It runs every 5 mins in between 5 to 30 min

Some cron job Examples

1 *  *  *  *   /bin/sh /path-to-scripting-file

In the above example,it execute the script for every 1st min of every hour

0  1  */2  *  *  /bin/sh /path-to-scripting-file

In this example the script execute at 1 am of every 2 days

10,30,40  8-15  *  *  *   /bin/sh  /path-to-scripting-file

This example shows the execution of the given script at 10th,30th and 40th min for the hours between 8am to 3 pm

0  9  1  *  *  *    /bin/rm -f /temp

In this above example /temp files removed for every first  day of the month at 9 am

30 18  *  *   6     /bin/cp -rf /home/* /backup

This example is to copy all the files and folders from /home path to /backup path  for every saturday 6.30pm of all the week

 

 




Leave a Reply

Your email address will not be published. Required fields are marked *