How to run crontab job every week on Sunday How to run crontab job every week on Sunday linux linux

How to run crontab job every week on Sunday


Here is an explanation of the crontab format.

# 1. Entry: Minute when the process will be started [0-60]# 2. Entry: Hour when the process will be started [0-23]# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]# 4. Entry: Month of the year when the process will be started [1-12]# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]## all x min = */x

So according to this your 5 8 * * 0 would run 8:05 every Sunday.


To have a cron executed on Sunday you can use either of these:

5 8 * * 05 8 * * 75 8 * * Sun

Where 5 8 stands for the time of the day when this will happen: 8:05.

In general, if you want to execute something on Sunday, just make sure the 5th column contains either of 0, 7 or Sun. You had 6, so it was running on Saturday.

The format for cronjobs is:

 +---------------- minute (0 - 59) |  +------------- hour (0 - 23) |  |  +---------- day of month (1 - 31) |  |  |  +------- month (1 - 12) |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7) |  |  |  |  | *  *  *  *  *  command to be executed

You can always use crontab.guru as a editor to check your cron expressions.


Following is the format of the crontab file.

{minute} {hour} {day-of-month} {month} {day-of-week} {user} {path-to-shell-script}

So, to run each sunday at midnight (Sunday is 0 usually, 7 in some rare cases) :

0 0 * * 0 root /path_to_command