如何通过php为特定用户安装crontab

时间:2014-08-21 16:11:03

标签: php shell cron command crontab

我目前正在编写PHP(5.3)中的Web界面来处理时间安排和安装cronjobs作为管理cronjobs的简单界面。 Web服务器与cron服务位于同一服务器上。我已设法将crontab保存到文件中,以便为系统上的特定用户进行交换。现在我遇到的问题是php运行的用户与应安装crontab的用户不同。 另外,我需要能够通过输入字段在我的Web界面中定义cron-user。

我尝试通过PHP crontab -u MyCronuser MyCrontab执行shell命令,但PHP用户没有使用-u参数的权限(我不允许更改此设置) 所以接下来的想法是做su cronUser之类的事情,但是没有-p参数,所以我无法处理登录密码。我试图链接像su cronuser && echo 'MyPassword'这样的命令,但它没有用,我没有找到任何解决方案通过谷歌与不同用户使用PHP登录到shell。有没有办法这样做? 使用sudo作为没有密码的root用户执行也不是一个选项,因为我不允许激活这些权限。

我可能错过了任何解决方案吗?对我的问题可能采用不同的方法吗?

1 个答案:

答案 0 :(得分:0)

此答案属于不同的方法类别,可能对您没有帮助。我已经构建了几个以下列方式运行的cron系统。

1)设置一个cron来运行每分钟并调用一个php文件(例如cron.php) 2)cron.php将从数据库表中提取数据,该数据库表指示需要运行哪些脚本以及在什么时间间隔运行 3)cron执行适当的脚本 - 处理错误等。

我不确定您对用户的需求是什么,但将数据添加到数据库表中应该是微不足道的。