A crontab file has six fields for specifying minute, hour, day of month, month, day of week and the command to be run at that interval. See below:

*     *     *     *     *  command to be executed

–     –     –     –     –

|     |     |     |     |

|     |     |     |     +—– day of week (0 – 6) (Sunday=0)

|     |     |     +——- month (1 – 12)

|     |     +——— day of month (1 – 31)

|     +———– hour (0 – 23)

+————- min (0 – 59)

Crontab examples

Writing a crontab file can be a somewhat confusing for first time users [and the above table probably doesn’t help much!] Therefore I’ve listed below some crontab examples:

* * * * * <command>                         #Runs every minute

30 * * * * <command>                       #Runs at 30 minutes past the hour

45 6 * * * <command>                       #Runs at 6:45 am every day

45 18 * * * <command>                     #Runs at 6:45 pm every day

00 1 * * 0 <command>                       #Runs at 1:00 am every Sunday

00 1 * * 7 <command>                       #Runs at 1:00 am every Sunday

00 1 * * Sun <command>                   #Runs at 1:00 am every Sunday

30 8 1 * * <command>                       #Runs at 8:30 am on the first day of every month

00 0-23/2 02 07 * <command>           #Runs every other hour on the 2nd of July

As well as the above there are also special strings that can be used:

@reboot <command>                         #Runs at boot

@yearly <command>                         #Runs once a year [0 0 1 1 *]

@annually <command>                      #Runs once a year [0 0 1 1 *]

@monthly <command>                      #Runs once a month [0 0 1 * *]

@weekly <command>                        #Runs once a week [0 0 * * 0]

@daily <command>                           #Runs once a day [0 0 * * *]

@midnight <command>                     #Runs once a day [0 0 * * *]

@hourly <command>                         #Runs once an hour [0 * * * *]

Multiple commands

A double-ampersand “&&” can be used to run multiple commands consecutively. The following example would run command_01 and then command_02 once a day:

@daily <command_01> && <command_02>

Disabling email notifications

By default a cron job will send an 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

 Specifying a crontab file to use

As mentioned at the top of this post, you can create a new crontab file with the “crontab -e” command. However, you may already have a crontab file, if you do you can set it to be used with the following command:

crontab -u

Therefore the following command…

crontab -u tux ~/crontab

…would set Tux’s crontab file to that of the file named “crontab” residing in Tux’s home directory.

Removing a crontab file

To remove your crontab file simply enter the following terminal command:

crontab -r

Posted in: Linux.
Last Modified: July 1, 2013

Leave a reply