2013-03-04 40 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