是否有像crontab程序的lint?

Ube*_*zzy 7 sysadmin syntax cron lint

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

Chr*_*ams 9

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

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

另一个替代方法,如果你编写ruby代码就是使用when gem - 你使用一个调用的样本ruby文件schedule.rb来解析,并从这样生成crontabs:

every 10.minutes do
  command "/usr/bin/my_great_command" 
end
Run Code Online (Sandbox Code Playgroud)

会给你一个crontab条目

0,10,20,30,40,50 * * * * /usr/bin/my_great_command
Run Code Online (Sandbox Code Playgroud)

这一个在这里:

every 2.days, :at => '4:30am' do
  command "/usr/bin/my_great_command" 
end
Run Code Online (Sandbox Code Playgroud)

会给你:

30 4 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 * * /usr/bin/my_great_command
Run Code Online (Sandbox Code Playgroud)


Adi*_*dil 7

有一个针对crons的Python linter.请参阅CheckCrontab项目


Ada*_*wes 6

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

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

  • 大多数 cron 还需要在文件末尾换行。并不是每个人都以交互方式安装 cron 条目。如果您使用某种自动化或大规模配置管理系统,您将能够轻松/意外地绕过系统作为防御机制的任何健全性检查。我强烈认为 cron 的 lint 是一个非常合理的想法。(确实,寻找一个是我发现这个老问题的方式。) (2认同)