A cron job that will never execute

UnixCron

Unix Problem Overview


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

...which will practically do the job as it will run on year 3099, but is there a cleaner way to do it?

Unix Solutions


Solution 1 - Unix

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 ?

Solution 2 - Unix

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.

Solution 3 - Unix

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.

Solution 4 - Unix

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

Solution 5 - Unix

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 /.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMadhu CMView Question on Stackoverflow
Solution 1 - UnixEric TjossemView Answer on Stackoverflow
Solution 2 - UnixTim IlesView Answer on Stackoverflow
Solution 3 - UnixChopView Answer on Stackoverflow
Solution 4 - UnixaefxxView Answer on Stackoverflow
Solution 5 - UnixMichael Krelin - hackerView Answer on Stackoverflow