cron job that will never execute

前端 未结 5 1017
耶瑟儿~
耶瑟儿~ 2020-12-05 22:22

Is there any way to create a cron expression for not running the job at all. I though of using this expression :

0 0 0 1 1 ? 3099

相关标签:
5条回答
  • 2020-12-05 22:54

    Comment it out — put # sign in front of it. Very useful, especially if you're afraid you'll forget about your changes by the year 3099.

    Another possibility is to make it execute dummy command, like true rm -rf /.

    0 讨论(0)
  • 2020-12-05 23:05

    If you're still looking for something robust even in the far future, try https://stackoverflow.com/a/13938099/1601531, where I suggest the use of February 31st in crontab entries which are never intended to execute.

    0 0 5 31 2 ?
    
    0 讨论(0)
  • 2020-12-05 23:06

    Opening your crontab file and deleting the entry would be the adequate way. Or you might as well simlink the executable that's called by the cronjob to an empty shell script.

    Tell us more about your setup, then we'll see ...

    0 讨论(0)
  • 2020-12-05 23:12

    I needed a valid cron schedule (? syntax not working in my system) which resolves real dates, but to be effectively "never". My current best solution was to pick the most recent leap year and see what day Feb 29th fell on. Feb 29 2016 was a Monday, so the next Monday Feb 29 is currently furthest away.

    0 0 29 2 1 yields the next 5 triggers as:

    02/29/2044 00:00:00Z
    02/29/2072 00:00:00Z
    02/29/2112 00:00:00Z
    02/29/2140 00:00:00Z
    02/29/2168 00:00:00Z
    

    Not perfect but it'll do.

    0 讨论(0)
  • 2020-12-05 23:13

    I created a duplicate (click here to see) for your question, and agree with your initial proposal. After testing, it appears Quartz will never execute a cron expression with a year above 2300.

    0 讨论(0)
提交回复
热议问题