How To Use Crontab?

In Linux, every user has its own cron file which can be edited by using crontab command.​The section following this explains various fields for cron expression. Cron is pre-bundled in Linux and no need to separately install it. To open crontab file use command – Open crontab file

crontab -e

​Linux Crontab Expressions

Let’s understand how we can use cron expressions to configure commands to run at a specific time interval. It might look a little difficult but believe me it’s easy. The cron expressions are mainly divided into two parts :

Date part: that defines at what interval or time the command has to be executed.Command: command to execute.

The expression takes the form – Cron expressions

min hour day month dayOfWeek Command min : Minute (0-59) hour : Hour (0-23) day : Day of month (1-31)
month : Month (1-12) dayOfWeek : Day of week (0 - 7) [Sunday = 0 or 7] Command: command to run as cron job.

Cron Operators

Cron operators add flexibility in defining command timings. * : Asterisk (*) is for every possible value, for example, * in minute would mean every minute ​Example (Run everyday at 5 am)

0 5 * * 1 sh /home/savan.patel/backup.sh

,  : Comma specifies the list of values. Example (Run everyday at 5 am, 7 am and 10 am)

0 5,7,10 * * * sh /home/savan.patel/backup.sh

– : dash specifies range of values. Example (Run at 5,6,7 am daily)

0 5-7 * * 1 sh /home/savan.patel/backup.sh

/ :  Seperater​ This is step operator use to specify for terms like every hour. For example to run command at every 3 hours you would use */3 in your expression Example Run every 3 hours

  • */3 * * * sh /home/savan.patel/backup.sh

Cron Expressions Usage

Let’s take some more examples to understand the usage of cron expressions. Run backup script every 5 mins

*/5 * * * * sh /home/savan.patel/backup.sh

Run backup script every 5 hours

  • */5 * * * sh /home/savan.patel/backup.sh

Run backup script every sunday at midnight

0 0 * * 7 sh /home/savan.patel/backup.sh

Special Crontab Strings

Besides operators, there are special strings defined by cron that are very easy to use. Special Crontab strings

@reboot : run once at startup @yearly : run yearly on 1st Jan midnight @annually : same as yearly @monthly : run on 1st of month every month midnight @weekly : run once a week @daily : run daily at midnight @midnight : same as @daily

Syntax To Use Special Strings

@STRING Command ​Run the backup script weekly

@weekly sh /home/savan.patel/backup.sh

​Run the backup script daily

@daily sh /home/savan.patel/backup.sh

Viewing Existing Cron Configurations

To list out user’s existing cron configurations you can use command – List existing cron

crontab -l

Generating Linux Crontab Expressions With Tool ​

Additionally, if you are still confused with Linux cron expressions and it’s usage, there are online tools available that help you to build the cron expressions easily. CronMaker: http://www.cronmaker.com/Crontab generator: http://crontab-generator.org/