无法从crontab执行命令?

| 我想每天16:00更新数据库中的某些内容。 因此,我使用crontab执行执行运行file.php的命令,后者运行更新。当我在bash中执行命令时,它可以完美运行,但是crontab出现了问题。 crontab:
00 16 * * * ./etc/cron.daily/maj_cat
maj_cat
php var/www/dev/update.php
谢谢!     
已邀请:
        ./etc/cron.daily/maj_cat是相对路径,而var / www / dev / update.php也是相对路径,请尝试:
00 16 * * * /etc/cron.daily/maj_cat
和maj_cat:
php /var/www/dev/update.php
您可以做到:
00 16 * * * /usr/bin/env php /var/www/dev/update.php
    
        您将要使用PHP的完整路径, 输入: PHP在哪里 通常,PHP驻留在/ usr / bin / php 导致: / usr / bin / php /var/www/dev/update.php 我发现通过输出到文件来测试crontab是否正在执行很有用,因此您知道cron实际上正在执行,例如: / usr / bin / php /var/www/dev/update.php> output.txt 如上所示,您最好在\“ var \”前面加上一个斜杠。     
        crondeaemon可能不使用手动设置的PATH变量。 确保php在路径中(在crontab的头部)。 否则,您可以尝试在脚本中使用绝对路径。     
        Cron在运行cronjobs时会使用默认配置文件,该配置文件可能与登录时使用的配置文件路径不同。您可以在cronjob的开头加载自己的配置文件,以确保cronjob \的环境与您的环境匹配登录环境。 您可以通过以下方式加载个人资料:
00 16 * * * ~/.profile; ./etc/cron.daily/maj_cat
    

要回复问题请先登录注册