如何通过PHP(而不是CPanel)设置cron作业?

Ale*_*ore 12 php

如何通过PHP(而不是CPanel)设置cron作业?

net*_*der 8

大多数crond已安装的Linux系统提供了一些目录,您可以使用以下命令设置作业:

/etc/cron.d/
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/
...
Run Code Online (Sandbox Code Playgroud)

这里的想法是在其中一个目录中创建一个文件.您需要为这些(或其中一个)目录设置适当的权限/所有权,以便启动PHP脚本的用户可以写入(Apache用户,如果它是Web脚本,或任何CLI用户,如果使用CLI).

最简单的方法是创建一个空文件,为其分配适当的权限/所有权,并让PHP脚本追加/修改它.

每个例子:

$ touch /etc/cron.d/php-crons
$ chown www-data /etc/cron.d/php-crons
Run Code Online (Sandbox Code Playgroud)

然后在PHP中:

$fp = fopen('/etc/cron.d/php-crons', 'a');
fwrite($fp, '* 23 * * * echo foobar'.PHP_EOL);
fclose($fp);
Run Code Online (Sandbox Code Playgroud)