为了账号安全,请及时绑定邮箱和手机立即绑定

使用PHP创建、编辑和删除crontab作业?

使用PHP创建、编辑和删除crontab作业?

PHP
墨色风雨 2019-06-26 15:58:45
使用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');

另外,请注意Apache是作为特定的用户运行的,这通常不是根用户,这意味着cron作业只能为Apache用户更改,除非给定crontab -uApache用户的权限。


查看完整回答
反对 回复 2019-06-26
?
江户川乱折腾

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');


查看完整回答
反对 回复 2019-06-26
  • 3 回答
  • 0 关注
  • 1133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信