Specifying “all odd values” in crontab?

前端 未结 6 770
孤城傲影
孤城傲影 2020-12-08 12:37

In crontab, I can use an asterisk to mean every value, or \"*/2\" to mean every even value.

Is there a way to specify every odd value? (Would someth

相关标签:
6条回答
  • 2020-12-08 13:14

    Try

    1-23/2
    

    From your question, I'm assuming Vixie Cron. I doubt this will work with any other cron.

    0 讨论(0)
  • 2020-12-08 13:18

    Depending on your version of cron, you should be able to do (for hours, say):

       1-23/2
    

    Going by the EXTENSIONS section in the crontab(5) manpage:

       Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".
    

    For a more portable solution, I suspect you just have to use the simple list:

       1,3,5,7,9,11,13,15,17,19,21,23
    

    But it might be easier to wrap your command in a shell script that will immediately exit if it's not called in an odd minute.

    0 讨论(0)
  • 2020-12-08 13:18

    I realize this is almost 10 years old, but I was having trouble getting 1-23/2 for an every two hour, odd hour job.

    For all you users where, exact odd hour precision is not needed. I did the following which suited my teams needs.

    59 */2 * * *
    

    Execute the job every two hours, at the 59th Minute.

    0 讨论(0)
  • 2020-12-08 13:19

    Works on Cronie Even with 5 minutes interval e.g.

    3-58/5 * * * * /home/test/bin/do_some_thing_every_five_minute
    
    0 讨论(0)
  • 2020-12-08 13:29

    As I read the manual "1-23/2" (for hours) would do the trick.

    0 讨论(0)
  • 2020-12-08 13:30

    Every odd minute would be:

    1-59/2 * * * * 
    

    Every even minute would be:

    0-58/2 * * * * 
    
    0 讨论(0)
提交回复
热议问题