如何在不使用PHP写入临时文件的情况下写入crontab

时间:2017-02-09 10:40:47

标签: php cron

我有一个PHP代码,使用此代码将cronjobs写入crontab。

        $output = shell_exec('crontab -l');

        file_put_contents('/tmp/crontab.txt', $output . $command . PHP_EOL . PHP_EOL);
        exec('crontab /tmp/crontab.txt');

它100%正常工作。但问题是很多用户会访问应用程序,所以文件不会被覆盖吗?如果没有覆盖,我相信会有其他一些问题。

我的问题是如何使用单个命令编写/附加到crontab而不将该cron内容写入临时文件?

我尝试了类似echo "cron here" > crontab的内容,但没有效果。

1 个答案:

答案 0 :(得分:1)

老实说,但是crontab可以编辑多少次这些concurence?对于这种情况,我更喜欢某种锁定机制。例如,在用户打开文件时创建.lock文件,并在编辑完成后删除.lock文件。如果另一个用户想要编辑crontab并且会出现.lock,他就不会被允许。