Php Crontab不工作。。。尝试了所有可能的解决方案
我正在尝试从php脚本运行一个我无法运行的自动任务。出于测试目的,我创建了test.php,但仍然没有任何功能 这些是我在流程中执行的行Php Crontab不工作。。。尝试了所有可能的解决方案,php,cron,Php,Cron,我正在尝试从php脚本运行一个我无法运行的自动任务。出于测试目的,我创建了test.php,但仍然没有任何功能 这些是我在流程中执行的行 crontab -e 这打开了nano #.............hint text were here #.............hint text were here * * * * * /usr/local/bin/php -f test.php 然后我重新启动了crontab sudo service cron restart 已确认cron
crontab -e
这打开了nano
#.............hint text were here
#.............hint text were here
* * * * * /usr/local/bin/php -f test.php
然后我重新启动了crontab
sudo service cron restart
已确认cron正在使用
pgrep cron
并且得到了结果。也
/usr/local/bin/php test.php
也给了我Hello World
在终端
Test.php
!#/usr/local/bin/php
<?php
echo "Hello World";
?>
也尝试设置权限
chmod +x test.php
chmod 755 test.php
chmod 600 test.php
正在寻找支持以实现这一目标。谢谢。尝试执行以下操作
*/1 * * * * [username] /usr/local/bin/php -f test.php
e.g. */1 * * * * root /usr/local/bin/php -f test.php
尝试执行以下操作
*/1 * * * * [username] /usr/local/bin/php -f test.php
e.g. */1 * * * * root /usr/local/bin/php -f test.php
很可能您的crontab正在工作,但您只是看不到输出,因为默认情况下,cron将
标准和错误输出给cron作业的所有者。因此,您可以将它们重定向到一个文件并手动签出。
您可以通过编辑crontab条目来实现这一点,使其如下所示:
* * * * * /usr/local/bin/php -f test.php > /tmp/log.log 2>&1
然后在一分钟内,你可以检查它,以确保你的工作是真正的工作。
我希望这有帮助
编辑
正如在问题的评论中所发现的那样,实际上有一个错误/bin/sh:1:usr/local/bin/php:not found
记录在log.log
文件中,该文件是通过使用php
修复的,很可能您的crontab正在工作,但您只是看不到输出,因为默认情况下,cron是标准的
和error
输出到cron作业的所有者。因此,您可以将它们重定向到一个文件并手动签出。
您可以通过编辑crontab条目来实现这一点,使其如下所示:
* * * * * /usr/local/bin/php -f test.php > /tmp/log.log 2>&1
然后在一分钟内,你可以检查它,以确保你的工作是真正的工作。
我希望这有帮助
编辑
正如在问题的评论中所发现的那样,实际上有一个错误/bin/sh:1:usr/local/bin/php:not found
记录在log.log
文件中,该文件是通过使用php
修复的,那么为什么您认为cron不能工作呢?尝试将输出重定向到一个文件,查看是否有Hello World
条目。编辑cron,使其看起来像这样***/usr/local/bin/php-f test.php>/tmp/log.log 2>&1
,一分钟后检查/tmp/log.log文件。/bin/sh:1:usr/local/bin/php:not found,但my where php显示usr/local/bin/phpGot它。谢谢使用简单的php并开始获取输出。您可以将其作为一个答案发布。那么,为什么您认为cron不起作用?尝试将输出重定向到一个文件,查看是否有Hello World
条目。编辑cron,使其看起来像这样***/usr/local/bin/php-f test.php>/tmp/log.log 2>&1
,一分钟后检查/tmp/log.log文件。/bin/sh:1:usr/local/bin/php:not found,但my where php显示usr/local/bin/phpGot它。谢谢只使用php并开始获取输出。请您将其作为答案发布。/bin/sh:1:ubuntu:not found/bin/sh:1:ubuntu:not found*14***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1每天下午2点我需要生成一个csv文件。这个命令正确吗?不,这将在14小时内每分钟运行一次。您需要指定0而不是第一个星号,以便cron在14:000运行14***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1是否正确*14***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1每天下午2点我需要生成一个csv文件。这个命令正确吗?不,这将在14小时内每分钟运行一次。您需要指定0而不是第一个星号,以便cron在14:00014***/usr/local/bin/php-f test.php>/tmp/new.csv 2>&1正确吗