使用php脚本安装cron作业

使用php脚本安装cron作业,php,cron,Php,Cron,我正在开发一个需要使用Cron的web应用程序。我想通过像Wordpress这样的自动安装过程来简化安装。在设置Cron之前,我在编写安装脚本方面没有问题。请告诉我是否可以这样做。您只需创建cron文件,然后使用exec设置该cron: $cron_file = 'cron_filename'; // Create the file touch($cron_file); // Make it writable chmod($cron_file, 0777); // Save the cron

我正在开发一个需要使用Cron的web应用程序。我想通过像Wordpress这样的自动安装过程来简化安装。在设置Cron之前,我在编写安装脚本方面没有问题。请告诉我是否可以这样做。

您只需创建cron文件,然后使用exec设置该cron:

$cron_file = 'cron_filename';
// Create the file
touch($cron_file); 
// Make it writable
chmod($cron_file, 0777); 
// Save the cron
file_put_contents($cron_file, '* * * * * your_command'); 
// Install the cron
exec('crontab cron_file');

这要求运行PHP的用户有权创建crontab。默认情况下,此cron文件将替换该用户的任何其他cron,因此请确保询问用户是否要应用cron。还要确保正在写入crontab文件的文件夹是可写的。

不要使用
chmod 0777
。权限应限制在最低限度,在这种情况下
0600
。而且,正如前面所说的,必须允许PHP解释器编辑crontab,即使是这样,它也可能与来自同一用户的其他crontab发生冲突。因此,如果Apache无法访问crontab,那么它就没有权限了?这就是我所担心的。有没有办法做到这一点并保持现有的cron作业运行?如何附加新的cron作业?还有,删除特定cron作业的方法?