我希望有一个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的用户对应的文本文件。

请注意,修改系统文件可能很危险,您应该非常小心。您的应用程序还需要一些额外的权限来修改这些文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top