dtrunk
dtrunk

Reputation: 4815

Run cron every 5 minutes in specific time span

I would like to run a cron job every 5 minutes in between these time span:

I guess I need more than one line to realize it.

My current crontab looks like this:

COMMAND=curl -u user:password http://localhost/webapp/cache/build/openligadb >> /var/log/cron.log
# Tuesday + Wednesday 8pm - 10pm
# m     h           dom mon dow command
*/5     20-22       *   *   2,3 $COMMAND
# Friday 8.30pm - 10.30pm
# m     h           dom mon dow command
*/5+30  20-22       *   *   5   $COMMAND
# Saturday 3.30pm - 5.30pm and 6.30pm - 8.30pm
# m     h           dom mon dow command
*/5+30  15-17,18-20 *   *   6   $COMMAND
# Sunday 3.30pm - 8.30pm
# m     h           dom mon dow command
*/5+30  15-20       *   *   0   $COMMAND

I don't know how to test/debug cron to look if it's correct what I've written.

I guss currently it would run every 5 minutes as follows:

Upvotes: 1

Views: 5642

Answers (1)

dg99
dg99

Reputation: 5673

There's nothing wrong with explicitly listing the times you need if there's no appropriate shortcut:

# Tuesday + Wednesday 8pm - 10pm
*/5     20-22       *   *   2,3 $COMMAND

# Friday 8.30pm - 10.30pm
30,35,40,45,50,55   20  *  *  5  $COMMAND
*/5                 21  *  *  5  $COMMAND
0,5,10,15,20,25,30  22  *  *  5  $COMMAND

# Saturday 3.30pm - 5.30pm and 6.30pm - 8.30pm
30,35,40,45,50,55   15,18  *  *  6  $COMMAND
*/5                 16,19  *  *  6  $COMMAND
0,5,10,15,20,25,30  17,20  *  *  6  $COMMAND

# Sunday 3.30pm - 8.30pm
30,35,40,45,50,55   15     *  *  0  $COMMAND
*/5                 16-19  *  *  0  $COMMAND
0,5,10,15,20,25,30  20     *  *  0  $COMMAND

Upvotes: 7

Related Questions