我有一个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
的内容,但没有效果。
答案 0 :(得分:1)
老实说,但是crontab可以编辑多少次这些concurence?对于这种情况,我更喜欢某种锁定机制。例如,在用户打开文件时创建.lock文件,并在编辑完成后删除.lock文件。如果另一个用户想要编辑crontab并且会出现.lock,他就不会被允许。