在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作业。 尝试使用命令runuser
( man runuser
)以root身份执行cron作业。 或者像@Philip所描述的那样,创build一个系统crontable并以授权用户身份运行PHP脚本。
我提供了一个详细的答案如何在这个计算器后使用cron。
如何写一个会在午夜每天运行脚本的cron?