我正在运行一组相对复杂的 cron 作业,向系统询问将要执行的接下来的 n 个 cron 任务的列表对我来说非常有用。
因此,给定一个特定的 crontab 即(复制并粘贴自http://adminschoice.com/crontab-quick-reference)。
30 0 1 1,6,12 * A //00:30 Hrs on 1st of Jan, June & Dec.
0 20 * 10 1-5 B //8.00 PM every weekday (Mon-Fri) only in Oct.
0 0 1,10,15 * * C //midnight on 1st ,10th & 15th of month
5 0 10 * 1 D At 12.10 every Monday & on 10th of every month
我可以拿回名单(假设我们从 5 月 31 日开始)
Cron jobs in queue:
B 2000 Tuesday
C 0000 Wednesday
B 8pm Wednesday
B 8pm Thursday
...等等。
有任何想法吗?
答案1
恐怕这不太容易,因为cron
它不是那样工作的,即它不会创建要运行的作业“队列”,而是让守护进程每分钟检查一次要运行的作业。
你必须编写一个脚本来解析 crontab 并重写输出。这只是你想花多少时间的问题。
以下是一些替代方案:
- 你可以用以下方式获得 cronjobs 的漂亮图形表示:Gnome 时间表,因为它还将 crontabs 转换为人类可读的字符串:
- 我还发现了一个名为crontab查看器。
答案2
这是一个博客文章有关 Perl 脚本(croncal.pl
),该脚本解析 crontabs 并打印给定时间范围内(默认为从现在开始的 24 小时)调用的日期和时间。