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?
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.
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)
*/5+1 * * * * first_script.sh
To run every five minutes, but offset one minute
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.
Success story sharing
*/5+2
either, but2-59/5
works like a champ.2-59/5
is needed for Firebase scheduled functions too. tnx