有没有办法检查一个crontab文件的语法,而不实际安装它?

我知道“crontab -e”在尝试安装编辑的crontab之前执行语法检查。 但是,我正在寻找一种方法来validationcrontab文件的语法是否正确,即使:

  • crontab是针对不同的用户,甚至可能不存在于我正在进行编辑的系统上
  • 我不想在我正在编辑的系统上安装crontab

我正在寻找的一个比喻是你可以运行“xmllint somefile.xml”来validation文件是有效的xml。

如果你完全控制服务器,一种方法是创build一个新用户(或者使用一个testing用户),并在那里编辑crontab。

另一种方法是将crontab条目的命令部分更改为“echo 1> / tmp / blah”,并查看是否正常工作,但显然这取决于条目何时应该触发以及不会触发的后果是什么。

麻烦的是没有任何选项可以确保某些东西在cron中正确运行,除非您testing的环境以相同的方式configuration。 请记住,cron的环境与“普通”用户的环境大不相同。

最终,“正确”的过程是,如果这是一个生产环境,所有的变化都应该脚本化,所有的发布脚本在发布testing环境中testing。 这样你有可重复性和testing。