脚本运行良好时,从命令行运行,但不通过cron

脚本运行良好时,从命令行运行,但不通过cron

问题描述:

我有一个PHP脚本运行良好时,通过SSH到我的服务器上运行并运行它。脚本运行良好时,从命令行运行,但不通过cron

但是,即使cron作业设置为每10分钟运行一次,脚本似乎也不会运行。

如何查看cron作业产生的错误?

请记住,cron在不同于您以前可能使用的工作目录中运行脚本。试着像在命令行中执行以下操作:

cd/
./path/to/your/script.php 

如果失败,正确地修改脚本中的所有路径,直到它运行。然后它将在cron中运行。

不确定,但它可能是凭据相关。安排您的任务与您的用户ID一起运行,看看是否没有清除它。如果是这样,您需要创建一组“批”凭据,您可以使用它来安排任务在下面运行。

有时候,错误信息通过cron发送给你。否则,它可能被发送给一个倒霉的系统管理员,他可能会谨慎地将消息保存在/ dev/null中。

当事情从命令行工作并且不能从cron工作时,“环境”几乎总是出错。在普通命令行环境中设置的某些内容未在cron环境中设置。请记住,cron不会为你运行你的配置文件 - 你只有一小部分环境变量,只有PATH之类的最小值。

通常,我假设我应该从cron运行一个shell脚本,并且该shell脚本负责确保正确的环境已到位 - 并且在运行软件的主要部分之前,该错误被捕获并记录得当 - 。