是否有像crontab程序的lint?

时间:2009-01-26 11:30:03

标签: syntax cron sysadmin lint

有没有像crontab的lint?我想知道我已经把我所有的空间和星星整理出来而没有等待不起作用的东西。

6 个答案:

答案 0 :(得分:9)

我发现CronWTF在编写crontabs时非常有用 - 它可以将你的星星和命令翻译成更人性化的东西,以便更容易阅读奇怪的cron作业。

更好的是,因为它是所有javascript你可以在本地运行它,并且没有人需要知道你的顶级sekrit cron工作。

另一个替代方法,如果你编写ruby代码就是使用whenever gem - 你使用一个名为schedule.rb的示例ruby文件进行解析,并从中生成crontabs:

every 10.minutes do
  command "/usr/bin/my_great_command" 
end

将为您提供

的crontab条目
0,10,20,30,40,50 * * * * /usr/bin/my_great_command

这一个在这里:

every 2.days, :at => '4:30am' do
  command "/usr/bin/my_great_command" 
end

会给你:

30 4 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 * * /usr/bin/my_great_command

答案 1 :(得分:7)

有一个针对crons的Python linter。见the CheckCrontab project

答案 2 :(得分:6)

我认为你不需要crontab的lint。有5个字段是空格分隔的,然后是一个空格,然后命令运行,它的args完成了该行。

另外,至少在Ubuntu上,crontab不会让你保存一个bum文件。我只是尝试了一些东西,它对所有这些都进行了抨击。我想这意味着crontab是它自己的'lint for cron'。

答案 3 :(得分:2)

我不确定这是否是您正在寻找的那种东西,但它通过向您显示您正在设置的日程安排来确保编写crontabs非常简单:

https://crontab.guru/

答案 4 :(得分:1)

可能有些偏差,但一种简单的方法就是使用图形crontab编辑器(如kcron或gcrontab)加载它。如果你需要在脚本中调用它,this question是关于如何在php中执行它。

答案 5 :(得分:0)

您可以尝试使用 Wicked Cool Shell Scripts, 2nd Edition 中名为 48-verifycron 的 shell 脚本,
如果您无法访问 python 和 pip 以使用 chkcrontab