Finding which cron jobs are scheduled to run at some future date/time X

cron

Is there a way to "query" a crontab to find which cron jobs run at some arbitrary date/time, or during a certain range of times?

For example, determine which will be run at sometime between 14:00 and 16:00 today, will run next Saturday at 10:00, or run every Sunday?

There are a lot of jobs scheduled, so reading all the crontabs by hand isn't really an option.

Best Answer

I found this tool called cronviz which will show you a graphical representation of your crontab entries.

excerpt

You have a problem: something's causing performance issues on the application server between 1 and 4 AM, and the cron jobs seem a likely culprit.

Naturally, you eyeball your crontab to find out what's running during those hours.

Now you have two problems.

Over time, cron jobs accrete into an impenetrable, opaque mass of text. Trying to get a comprehensive sense of all the various run times, and finding patterns therein, can be exceedingly difficult. Crontabs are written for computers to interpret -- not humans.

Example screenshot

    ss #1