ubuntu – Cron失败,退出状态为127

参见英文答案 > Why is my crontab not working,and how can I troubleshoot it?5个
我正在尝试让我的crontab为rails应用程序运行一些rake任务,但似乎总是退出状态为127,在我的syslog中它看起来像这样:
Jun  7 05:10:01 ip-10-170-122-226 CRON[15664]: (deploy) CMD (cd /home/deploy/apps/dashboard/current && bundle exec rake some:task
Jun  7 05:10:01 ip-10-170-122-226 CRON[15662]: (CRON) error (grandchild #15664 Failed with exit status 127)

似乎127就像“命令未找到错误”之类的东西,所以我已经使用了完整路径到bin,即使像bundle是/usr/local / bin / bundle,任务在cron之外运行正常运行它在壳中.

我的crontab很简单:

*/10 * * * * cd /home/deploy/apps/dashboard/current && bundle exec rake some:task

也许我的crontab需要#!/usr/bin或顶部的东西?

更新

要测试它,它似乎运行这很好:

*/1 * * * *  /usr/bin/touch /home/deploy/cron-test.txt

所以这让我认为它就像一个PATH可变的东西,但我不知道如何在那里获得正确的路径变量,任何想法?

当bash找不到命令时,退出状态127由bash设置(见 Advanced Bash Scripting).
为了使调试更容易,您应该将所有内容放在脚本中.确保脚本是可执行的,并以解释器名称和路径开头:
#! /bin/bash
cd /.../ &&  next_command

您应该将crontab行类似于:

*/10 * * * * cd /home/deploy/apps/dashboard/current && /PATH_TO/bundle exec rake some:task

或者在crontab中设置PATH变量:

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/PATH_TO_bundle
*/10 * * * * cd /home/deploy/apps/dashboard/current && /PATH_TO/bundle exec rake some:task

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...