2015-08-17 71 views
1

我有一個controlM作業,它調用一個需要4個命令行參數的shell腳本。該命令是如下:ControlM作業調用unix腳本重複失敗

sh /appl/Script/Script1.sh ABC /appl/Landing SV_SID_NormalisedEvent_* Y 

在命令行中的第三參數(SV_SID_NormalisedEvent_*)是一種文件通配符/圖案的量,腳本將查找在第二參數(/appl/Landing)提供的路徑。

此作業在中止一個特​​定的損壞文件時運行良好:SV_SID_NormalisedEvent_20150810_151805.csv.gz。我們通過忽略此文件手動處理此故障並強制確定作業

從那時起,無論何時在每日運行過程中觸發此作業,它始終會按如下方式觸發命令並失敗。

sh /appl/Script/Script1.sh ABC /appl/Landing SV_SID_NormalisedEvent_20150810_151805.csv SV_SID_NormalisedEvent_20150810_151805.csv.gz Y 

當作業運行良好,正確的命令輸出如下:

sh /appl/Script/Script1.sh ABC /appl/Landing 'SV_SID_NormalisedEvent*' Y 

任何指針這個問題不知怎的,第三個參數作爲一個特定的文件,而不是通配符總是通過呢?以上命令輸出來自每次運行期間創建的sysout文件。

回答

0

我們已經忽略了這個文件手工處理這種故障,被迫 確定工作

聽起來也許該文件還沒有被清理,被發現每次。那可能嗎?

如果它仍然包含正確的參數SV_SID_NormalisedEvent_*,則作業將使用在其中定義的命令行運行。

我想不出任何其他的原因,你看到了這種行爲。