RazorHead
RazorHead

Reputation: 1520

How can I run a cron job every 5 minutes starting from a time other than 0 minutes?

I would like to have a script run every 5 minutes let's say starting from 13:02 so I can have another script runs every 5 minutes but starting from 13:04 so the second script runs two minutes after the start of the first job. How can I achieve this?

Upvotes: 97

Views: 108407

Answers (4)

Rolando Isidoro
Rolando Isidoro

Reputation: 5114

Syntax 1

*/5+2 * * * * 1st-script
*/5+4 * * * * 2nd-script

For future reference take a look at this online Cron Job Generator.

Syntax 2

Since there are several reports that the + syntax is not working on Ubuntu 14.04, here's a variation:

2-59/5 * * * * 1st-script
4-59/5 * * * * 2nd-script

This will result in the 1st script to run every 5 minutes starting with an offset of 2 minutes at the beginning of each hour and the 2nd script to behave the same with an offset of 4 minutes.

Upvotes: 178

Ales
Ales

Reputation: 441

I needed similar thing - to execute script every 5 minutes starting from third minute of an hour. I doubted above solutions (because website crontab.guru was convincing me about invalid syntax) and so my colleague told me to specify minutes directly like this:

3,8,13,18,23,28,33,38,43,48,53,58 * * * *

Its list of concrete minutes.

Upvotes: 9

Emile Aben
Emile Aben

Reputation: 450

or

*/5 * * * * sleep 120; ( first_script.sh & ) ; sleep 120 ; second_script.sh

nice thing about this approach is that you can let crontab start things at times other then minute boundaries (like 30 seconds after the hour)

Upvotes: 15

dave
dave

Reputation: 64657

*/5+1 * * * * first_script.sh

To run every five minutes, but offset one minute

Upvotes: 6

Related Questions