2011-12-21 111 views
0

我計劃執行job.sh腳本,它包含以下命令:工作,計劃通過計劃,不執行

date +"%D %r `echo Kitchen - job started`" >> /tmp/cron_job_1.log 
sh /installations/data-integration/kitchen.sh -file /installations/etl/sync_job.kjb >> /tmp/cron_job_1.log 
date +"%D %r `echo Kitchen - job completed`" >> /tmp/cron_job_1.log 

crontab的記錄是:

0,3,4,5,6,8,10,11 * * * * sh /installations/etl_scripts/job.sh 

「工作啓動'和'已完成'時間戳記總是成功寫入cron_job_1.log,這是計劃作業按時運行的一個證明。但似乎Pentaho轉換(../kitchen.sh)命令不運行,因爲轉換不會繼續進行,也不會寫入日誌文件。 「作業開始」和「作業結束」之間的時間爲1或2秒,但轉換作業應該至少運行10秒。

當我運行命令sh /installations/data-integration/kitchen.sh -file /installations/etl/sync_job.kjb >> /tmp/cron_job_1.log獨立於控制檯轉換作業按預期工作,並寫入日誌。

涉及文件的所有路徑和權限似乎是正確的。

有什麼建議嗎?

+0

我有一個關於如何調試cron的時候,它展示了越野行爲的大帖子:http://serverfault.com/questions/425397/cron-stopped-working-partially-working/449639#449639 – 2012-11-17 03:22:22

回答

2

根據crontab FAQ:cron只設置了一個稀疏環境,所以你的環境變量在cron腳本中是不可訪問的。您必須在job.sh腳本中設置環境變量。

+0

設置環境。添加到腳本頂部的變量。現在工作正常。謝謝! – adrift 2011-12-22 12:57:36