cronjob - Run Cron every 2 minutes in 30 minutes?

17
2014-02
  • Hugo ferreira

    I need to run a cron job every 2 minutes (*/2) but only for the first 30 minutes of every hour, with pause of 30 minutes between the runs.

    For example, something like:

    • From 10h00 to 10h30: run every 2 minutes
    • From 10h30 to 11h00: nothing to run
    • From 11h00 to 11h30: run every 2 minutes
    • etc...

    How can I achieve this result?

  • Answers
  • Omnikrys

    Can you run after the half hour instead of before? If so this should work for you...

    30/2 * * * *    
    

    If not you would have to designate each of the minutes you want it to run...

    2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 * * * *    
    

    Not sure if your hourly was supposed to recur throughout the day or not but I assumed so.


  • Related Question

    crontab - Run a cron job every 5 minutes between two times
  • pythonic metaphor

    Is there a way to specify a job that runs every 5 minutes between some start time and some end time on business days in a crontab?

    Update I think it's relevant that my start and end times are not at round hours. So, specifying 9-5 in the hour column isn't enough. I want 9:30-17:30.


  • Related Answers
  • Ignacio Vazquez-Abrams

    You'll have to do it piecewise:

    30-59/5 9 * * * script.sh
    */5 10-16 * * * script.sh
    0-30/5 17 * * * script.sh