php - 在 cron 作业中执行 PHP 脚本

标签 php linux apache cron centos

在我们的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/

相关文章:

javascript - jQuery Ajax 函数仅适用于 while 循环中的第一个结果

php - 当我按下登录按钮时,login.php 打印整个准备行 :(

c# - 如何使用 .Net Core 在 Linux 上从同一网络的远程计算机获取 mac 地址

linux - 在 sed 命令中使用变量

Javascript/jQuery 注册表单问题

php - 在 php 函数中满足条件时回显类中的 <svg> 元素

linux - 可以从内部暂停无特权的Docker容器吗?

php - mod_rewrite PHP $_GET 空

perl - 如何使用带有 mod_perl 的调试器

CentOS 6.4 上的 Apache2 + FastCGI + php-fpm ==> 有效,但 error_log 中出现错误