在cron作业中执行PHP脚本

在我们的centos6服务器。 我想执行一个PHP脚本在Cron作为Apache用户,但不幸的是,它不工作。

这里是crontab的版本(crontab -uapache -e)

24 17 * * * php /opt/test.php 

这里是“test.php”文件的源代码,它与“apache”用户作为所有者正常工作。

 <?php exec( 'touch /opt/test/test.txt');?> 

我尝试用php的完整pathreplacephp(/ usr / local / php / bin / php),但是它不起作用

在此先感谢,请帮助我

自动化任务:Cron

Cron是基于Linux / Unix的计算机操作系统中基于时间的调度服务。 Cron作业是用来安排定期执行的命令。 您可以设置命令或脚本,这些命令或脚本将在设定的时间重复运行。 Cron是Linux或UNIX(如操作系统)中最有用的工具之一。 cron服务(守护进程)在后台运行,并不断检查/ etc / crontab文件/ etc / cron。 / *目录。 它也检查/ var / spool / cron /目录。

configurationCron任务

在以下示例中,下面显示的crontab命令将每十分钟自动激活一次cron任务:

 */10 * * * * /usr/bin/php /opt/test.php 

在上面的示例中,* / 10 * * * *表示任务何时发生。 第一个数字代表分钟 – 在这种情况下,代表每十分钟。 其他数字分别表示一周中的 小时

*是通配符,意思是“每次”

通过在命令行中input来查找您的PHP二进制文件:

 whereis php 

输出应该是这样的:

php:/ usr / bin / php /etc/php.ini /etc/php.d/usr/lib64/php/usr/include/php/usr/share/php/usr/share/man/man1/php.1 。广州

正确指定命令中的完整path。

input以下命令进入cronjob:

 crontab -e 

看看你在crontab中得到了什么。

编辑1:

要退出vim编辑器而不保存,只需单击:

 Shift+: 

然后inputq!

我有同样的问题…我不得不作为用户运行它。

 00 * * * * root /usr/bin/php /var/virtual/hostname.nz/public_html/cronjob.php 

您可能需要以具有执行PHP脚本权限的用户身份运行cron作业。 尝试使用命令runuserman runuser )以root身份执行cron作业。 或者像@Philip所描述的那样,创build一个系统crontable并以授权用户身份运行PHP脚本。

我提供了一个详细的答案如何在这个计算器后使用cron。

如何写一个会在午夜每天运行脚本的cron?