【发布时间】:2011-05-24 04:33:30
【问题描述】:
是否可以使用 PHP 来创建、编辑和删除 crontab 作业?
我知道如何列出 Apache 用户当前的 crontab 作业:
$output = shell_exec('crontab -l');
echo $output;
但是如何用 PHP 添加一个 cron 任务呢? 'crontab -e' 只会打开一个文本编辑器,您必须在保存文件之前手动编辑条目。
以及如何使用 PHP 删除 cron 作业?同样,您必须通过 'crontab -e' 手动执行此操作。
使用这样的作业字符串:
$job = '0 */2 * * * /usr/bin/php5 /home/user1/work.php';
如何使用 PHP 将其添加到 crontab 作业列表中?
【问题讨论】:
-
Cron jobs using php 和 couple others 的可能副本
-
(hint) crontab 只是一个文件
-
@Gordon,谢谢。我知道一切都是一个文件,但是他们是否将 crontab 作业存储在不同发行版的同一路径中?另外需要获取Apache的用户,比如www-data,并且有root权限?
-
我不确定路径是否在发行版之间发生变化,但是您可以在代码中使路径成为可配置的值,然后在运行时设置它。至于用户和权限:每个用户都可以有一个 crontab 来运行具有分配给该用户的权限的作业,因此这对于您的系统设置是单独的。