我想在每一分钟都执行一个shell脚本。 我用了这个命令
* * * * * cd /opt/bitnami/apache2/htdocs/sitename/app && Console/cake Sendnotification
其中Sendnotification
是shell名称和sitename
站点文件夹名称。
请告诉我。自从过去10个小时以来,我一直试图解决这个问题。
答案 0 :(得分:1)
这是因为PHP安装在非标准路径中。您需要编辑Console/cake
bake shell脚本以包含PHP可执行文件的路径。
由于您使用的是 Bitnami ,因此可以将以下行添加到shell脚本中:
export PATH=/opt/bitnami/php/bin:$PATH
所以你的控制台/蛋糕文件应如下所示:
#!/usr/bin/env bash
export PATH=/opt/bitnami/php/bin:$PATH
################################################################################
#
# Bake is a shell script for running CakePHP bake script
#
# CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
# Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
...
(这适用于CakePHP 2.x)
奖励:您可以编辑您的cron任务,将控制台输出记录到文件中进行调试:
* * * * * cd /opt/bitnami/apache2/htdocs/sitename/app && Console/cake Sendnotification > /opt/bitnami/apache2/htdocs/sitename/logs/Sendnotification_`date +\%Y\%m\%d`-cron.log 2>&1