使用PHP验证Crontab条目

用PHP验证crontab条目的最佳方法是什么?我应该使用正则表达式还是外部库?我有一个PHP脚本,可以从crontab文件中添加/删除条目,但是想要某种方法来验证时间间隔部分的格式是否正确。

回答:

嗯,有趣的问题。

如果您要真正对其进行验证,那么正则表达式还不够,您必须实际解析该条目并验证每个调度位。这是因为每一位可以是数字,一周中的月/日字符串,范围(2-7),集合(3、4,周六),Vixie

cron样式的快捷方式(60/5)或任意组合以上-任何单个正则表达式方法都将变得非常毛茸茸,快速。

仅使用crontabVixie cron程序进行验证是不够的,因为它实际上并未完全验证!我可以crontab接受各种非法的东西。

戴夫·泰勒(Dave Taylor)的《邪恶的酷壳脚本》(Wicked Cool Shell

Scripts,Google图书链接有一个sh脚本,可以部分验证该脚本,我发现讨论很有趣。您可能还会使用或修改代码。

另一种方法(取决于您的应用程序需要执行的操作)可能是让PHP以编程方式构造crontab条目并将其插入,因此您知道它始终有效,而不是尝试验证不受信任的字符串。然后,您只需要制作一个“构建crontab条目”用户界面,如果您不需要真正复杂的调度组合,这可能很简单。

以上是 使用PHP验证Crontab条目 的全部内容, 来源链接: utcz.com/qa/417182.html

回到顶部