在crontab中使用qsub?

时间:2013-03-04 19:34:27

标签: bash crontab

我正在尝试在crontab中配置脚本。在crontab txt文件中,我尝试了:

    0 1 * * * qsub /script.sh

我得到的错误是“/ bin / sh:qsub:command not found。” 我尝试了一堆类似的迭代,并在网上看了一下但没有成功。我很感激任何帮助。

2 个答案:

答案 0 :(得分:4)

cron下执行的程序使用一组有限的环境变量运行。特别是,由于它不会读取您的shell启动文件(.bashrc.profile.cshrc,等等),因此它不会显示您的$PATH设置; $PATH可能会像/usr/bin:/bin一样简单。

您可以为单个命令设置PATH,如下所示:

0 1 * * * PATH=/directory/containing/qsub:/usr/bin:/bin qsub /script.sh

您还可以全局设置环境变量;此类设置将适用于从crontab执行的所有命令:

PATH=/directory/containing/qsub:/usr/bin:/bin

0 1 * * * qsub /script.sh

man 5 crontab,或查看here,了解有关编写crontabs的更多信息。

如果您想查看cron作业的环境,您可以暂时将此行添加到您的crontab:

* * * * * printenv > cron-env

等到下一分钟的顶部,然后cat ~/cron-env - 然后从crontab中删除该行,使其不再继续执行。

(你的脚本真的在根目录下吗?为什么它不在你的主目录下?)

答案 1 :(得分:0)

对我有用的方法是我首先在 /etc/profile.d/sge.sh 下获取 sge.sh

然后crontab会得到正确的环境变量并且能够在crontab下运行qsub。