1

I want to run a cron every 30 seconds between 00:00 and 11:55, every day, every month, any day of the month.

Is the following correct?

0/30 * 0-11 **
fedorqui 'SO stop harming'
  • 228,878
  • 81
  • 465
  • 523
Paul
  • 531
  • 9
  • 29

3 Answers3

0

You can try to validate your cron statement with decoder

One of them you can find by the link: http://cronwtf.github.io/

ivan.mylyanyk
  • 1,883
  • 3
  • 30
  • 37
0

The format is as follows:

+---------------- 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

So if you want to run every minute between 00.00 and 11.55, every day, every month, any day of the month, you need to combine two different lines:

* 0-10 * * * command
0-55 11 * * * command

Note that to run every 30 seconds you can use the trick described in Running a cron every 30 seconds.

Community
  • 1
  • 1
fedorqui 'SO stop harming'
  • 228,878
  • 81
  • 465
  • 523
0

You can try to run your script every 30 seconds using the following:

* 0-11 * * * (sleep 30; /path/to/executable)

So your crontab should looks like

* 0-11 * * * /path/to/executable
0-54 0-11 * * * (sleep 30; /path/to/executable)

Both command lines will be executed at the same time, but the second one will do a 30 seconds sleep before executing your command.

pikero
  • 16
  • 2