使用PHP创建、编辑和删除crontab作业?是否可以使用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作业列表中?
3 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
crontab命令使用
usage: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab)
$output = shell_exec('crontab -l');file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL);echo exec('crontab /tmp/crontab.txt');
删除职务:
echo exec('crontab -r');
crontab -u
江户川乱折腾
TA贡献1851条经验 获得超5个赞
检查一份工作
function cronjob_exists($command){ $cronjob_exists=false; exec('crontab -l', $crontab); if(isset($crontab)&&is_array($crontab)){ $crontab = array_flip($crontab); if(isset($crontab[$command])){ $cronjob_exists=true; } } return $cronjob_exists;}
追加职位
function append_cronjob($command){ if(is_string($command)&&!empty($command)&&cronjob_exists($command)===FALSE){ //add job to crontab exec('echo -e "`crontab -l`\n'.$command.'" | crontab -', $output); } return $output;}
删除crontab
exec('crontab -r', $crontab);
例
exec('crontab -r', $crontab);append_cronjob('* * * * * curl -s http://localhost/cron/test1.php');append_cronjob('* * * * * curl -s http://localhost/cron/test2.php');append_cronjob('* * * * * curl -s http://localhost/cron/test3.php');
- 3 回答
- 0 关注
- 1133 浏览
添加回答
举报
0/150
提交
取消