无法从crontab在bash脚本中运行tumblr-rb ruby​​脚本

时间:2014-05-23 02:34:05

标签: ruby bash crontab

我编写了以下名为/home/pi/test.sh的bash脚本(使用ruby gem" tumblr-rb"):

#!/bin/bash
echo "starting script"
/usr/local/bin/tumblr post /home/pi/test.jpg --host=myhost.tumblr.com --credentials=/home/pi/.tumblr 
echo "end of script"

如果我从命令行运行它,我会得到:

starting script
Post was successfully created! Post ID: 82238814640
end of script

我的照片被发布到Tumblr。然后,如果我将bash脚本放在我的pi用户的crontab中* * * * * /home/pi/test.sh,我会通过电子邮件将以下cron输出发送给我:

starting script
end of script

没有任何内容发布到Tumblr。为什么没有发生?

1 个答案:

答案 0 :(得分:0)

Cron将一小组环境变量传递给您的工作。 您可以使用简单的shell来检查提供的环境crontab:

* * * * * env > /home/pi/cron_env.dat

尝试添加ruby二进制文件的完整路径以执行ruby脚本。

您还可以在crontab文件中设置PATH变量,该变量将应用于所有cron作业。 e.g。

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
* * * * * bash -c /home/pi/test.sh
相关问题