在我们的centos6服务器中。我想以 apache 用户的身份在 cron 作业中执行一个 php 脚本,但不幸的是它不起作用。
这是 crontab 的版本 (crontab -uapache -e)
24 17 * * * php /opt/test.php
这里是“test.php”文件的源代码,它可以在“apache”用户作为所有者的情况下正常工作。
<?php exec( 'touch /opt/test/test.txt');?>
我尝试用 php 的完整路径 (/usr/local/php/bin/php) 替换 php 但它也不起作用
提前致谢, 请帮助我
最佳答案
Automated Tasks: Cron
Cron 是 Linux/类 Unix 计算机操作系统中基于时间的调度服务。 Cron 作业用于安排定期执行的命令。 您可以设置命令或脚本,它们将在设定的时间重复运行。 Cron 是 Linux 或 UNIX 类操作系统中最有用的工具之一。 cron 服务(守护进程)在后台运行并不断检查 /etc/crontab 文件、/etc/cron./* 目录。它还会检查 /var/spool/cron/ 目录。
配置 Cron 任务
在以下示例中,如下所示的 crontab 命令 将每十分钟自动激活一次 cron 任务:
*/10 * * * * /usr/bin/php /opt/test.php
在上面的示例中,*/10 * * * * 表示任务应该何时发生。第一个数字代表分钟——在这种情况下,每“十”分钟。其他数字分别代表小时、天、月和星期几。
*
是通配符,意思是“每次”。
首先通过在命令行中键入查找您的 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.gz
在命令中正确指定完整路径。
键入以下命令进入cronjob:
crontab -e
看看你在crontab中得到了什么。
编辑 1:
要退出 vim 编辑器而不保存只需单击:
Shift+:
然后输入 q!
关于php - 在 cron 作业中执行 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22358382/