2014-02-21 63 views
0

我必須爲我的perl腳本安排一個crontab作業......要有合適的環境變量,我通過bash腳本執行它....它正在正確執行,但無法執行GFS命令是crontab作業無法正常工作

my $string = `gluster file info`;  

我的cron作業是:(調用它通過一個bash腳本)

* * * * * /root/MyWeb-App/bin/crontab.pl PATH=/MyWeb-App/bin 

我的bash腳本是:

#!/bin/bash  
/root/MyWeb-App/bin/crontab.pl 

執行腳本後,$string爲空...
那麼這個怎麼了?以及如何解決這個......感謝幫助!!!!!!!!!

+0

你得到了什麼錯誤? – ikegami

回答

2

現在,您正在將PATH=/MyWeb-App/bin作爲參數傳遞給crontab.pl。我懷疑crontab.pl甚至檢查參數。

也許你試圖設置PATH環境變量。如果是這樣,語法是:

PATH=/MyWeb-App/bin /root/MyWeb-App/bin/crontab.pl 

您可能要添加到$PATH而不是取代它,但。

PATH="/MyWeb-App/bin:$PATH" /root/MyWeb-App/bin/crontab.pl 
+0

感謝您的rply ...但我的腳本正在執行...我得到的輸出到我的目標文件,但它不能得到輸出命令'gluster文件信息',爲什麼它不會給出正確的輸出... 。爲什麼不執行該命令.....如果你想我會在這裏發佈我的代碼........ – aditya

+1

我知道你的腳本正在執行,但'gluster'不是。 (好吧,你不清楚,你說'$ script'是空的,但那是不可能的,你的意思是它是undef,還是空字符串?)如果我的回答沒有幫助,告訴我們你的錯誤越來越多。反引號通過'$?'報告錯誤。如果shell最終啓動,它會向STDERR另外輸出錯誤。 – ikegami

+0

這是我的代碼 'my $ string ='gluster volume info'; my $ var = $ ?; print「zzz:$ string \ n」; print「xxx:$ var \ n \ n」;' 當直接運行時:$ var = 0 ...當通過crontab運行時:$ var = -1 – aditya