我正在編寫一個基本上通過SFTP將數據文件傳輸到數據庫服務器的shell腳本,然後調用將這些文件(外部表)中的數據加載到內部的pl/sql過程數據庫表。成功或失敗時的shell腳本電子郵件通知
我一直在研究shell腳本中有效的異常處理,並且看起來set -e
選項可以用來在腳本運行時返回一個非零的退出碼的任何命令時用一個錯誤終止腳本。
因此,我的計劃是要有一個腳本,其中包含所有需要完成的處理(SFTP,移動/刪除文件,調用pl/sql程序等),並在頂部包含set -e
的腳本。我還計劃將輸出重定向到此腳本中的日誌文件。
然後,我打算讓另一個腳本調用主處理腳本,然後通過電子郵件主題中的「成功」或「失敗」指示器發送日誌。
在這種方法中您是否可以預見到任何「陷阱」,或者這看起來是否合理?
聽起來不錯,但是您是否冒着忽略來自FTP作業的信息的風險,因爲它們太多了?我曾經有一天運行100多個工作,而我得到的唯一信息是我的monitorAllJobs腳本已經啓動,然後結束,當然如果有任何錯誤,我會另外收到一封有關這方面的電子郵件。大大減少了看看的東西,但我也確定監視哪裏工作。您的需求可能不同。祝你好運! – shellter 2012-02-22 16:28:51
@shellter - 好點。對我來說幸運的是,這項工作將每天運行一次。現在,如果我們進入你描述的場景,我們將不得不提出一個類似你剛纔概述的通知方案。謝謝。 – 2012-02-22 16:53:31