在cron作业中执行PHP脚本

在cron作业中执行PHP脚本

在我们的centos6服务器中。我想在cron job中执行一个php脚本作为apache用户,但不幸的是它不起作用。

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

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

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

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

我尝试用php的完整路径替换php(/ usr / local / php / bin / php),但它也无法正常工作

在此先感谢,请帮助我


慕容森
浏览 668回答 3
3回答

肥皂起泡泡

自动化任务:CronCron是一种基于时间的调度服务,适用于Linux / Unix类计算机操作系统。Cron作业用于安排定期执行的命令。您可以设置命令或脚本,这些命令或脚本将在设定的时间重复运行。Cron是Linux或UNIX操作系统中最有用的工具之一。cron服务(守护进程)在后台运行并不断检查/ etc / crontab文件/ etc / cron。/ *目录。它还检查/ var / spool / cron /目录。配置Cron任务在以下示例中,下面显示的crontab命令将每十分钟自动激活一次cron任务:*/10&nbsp;*&nbsp;*&nbsp;*&nbsp;*&nbsp;/usr/bin/php&nbsp;/opt/test.php在上面的示例中,* / 10 * * * *表示任务应该发生的时间。第一个数字表示分钟&nbsp;- 在这种情况下,每隔“十”分钟。其他数字分别代表小时,日,月和星期几。*是一个通配符,意思是“每次”。首先输入命令行找出你的PHP二进制文件:whereis&nbsp;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 。广州正确指定命令中的完整路径。输入以下命令以输入cronjob:crontab&nbsp;-e看看你在crontab中得到了什么。编辑1:要退出vim编辑器而不保存,只需单击:Shift+:然后输入&nbsp;q!

侃侃尔雅

您可能需要以具有执行PHP脚本权限的用户身份运行cron作业。尝试使用命令runuser(man runuser)以root身份执行cron作业。或者创建一个系统crontable并以授权用户身份运行PHP脚本,如@Philip所述。我在这个stackoverflow帖子中提供了如何使用cron的详细解答。如何编写一个每天午夜运行脚本的cron?
打开App,查看更多内容
随时随地看视频慕课网APP