题
我希望有一个Web界面来控制何时调用PHP脚本。在此界面中,我希望能够设置将调用脚本的特定时间或范围。该信息将存储在DB中。当我点击保存时,我想让它读取数据库中的所有预定时间,然后格式化它并将其写入crontab以获取cron作业。有没有办法让PHP修改crontab文件?
解决方案
我会去创建一个“cron_runner.php”。每分钟运行一次的脚本,读取cron数据并相应地运行它们。感觉就像重新发明轮子一样,但至少你对文件权限没有任何问题。
其他提示
应该可以,但是您需要PHP拥有访问用户的crontab或执行“crontab”的必要权限。从命令行。在共享托管环境中,情况大多不是这样。
实际上,您可以像处理文本文件一样操作cron作业。你必须要小心,不要制动任何东西。
cron守护程序使用以下结构为每个用户保存cronjobs:
/var
/spool
/cron
/crontabs
/root
/user1
/user2
..
/user5
使用此信息,您可以修改与您要为其设置新cron的用户对应的文本文件。
请注意,修改系统文件可能很危险,您应该非常小心。您的应用程序还需要一些额外的权限来修改这些文件。
不隶属于 StackOverflow