2013-03-04 38 views
2

我试图在crontab中qsub脚本。在一个crontab txt文件,我想:在crontab中使用qsub?

0 1 * * * qsub /script.sh 

我得到的错误是 “/ bin/sh的:使用qsub:命令未找到”。 我尝试了一堆类似的迭代,并在网上浏览没有成功。我会很感激任何帮助。

回答

3

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,对于写作的crontab的更多信息。

如果你只希望看到什么样的cron作业环境的样子,你可以暂时此行添加到你的crontab:

* * * * * printenv > cron-env 

等到下一分钟的顶部,然后cat ~/cron-env - 然后从你的crontab中删除该行,这样它就不会继续执行。

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

+0

谢谢,我得到了它使用你的建议的工作。我的qsub在/ usr/local/bin /中。这个命令对我来说是0 1 * * * PATH =/usr/local/bin:/ usr/bin:/ bin qsub /scriptpath/script.sh。另外,我的脚本没有存储在我的根目录中。谢谢您的帮助! – user1382685 2013-03-05 15:20:47