1. 程式人生 > >在linux下設定kettle的定時任務方法

在linux下設定kettle的定時任務方法

1.     安裝centos

2.     安裝java環境參考網址:  http://www.cnblogs.com/haoliansheng/p/5832979.html

3.     解壓kettle.zip 進入kettle.zip目錄,

4.     執行 unzip kettle.zip


5.     

等待解壓完成

6.    進入解壓目錄,找到./kitchen.sh

7.    鍵入./kitchen.s看輸出資訊

會看到BASH/ kitchen.sh的:許可權被拒絕,所以得知,kitchen.sh缺少執行許可權

所以,我們賦予.sh檔案以執行許可權(x

命令為:chmod a+x *.sh  



8.    執行./kitchen.sh後窗口開始執行很多命令,可以看到幫助資訊,結束後

執行./spoon.sh啟動kettle成功


9. 按照在windows中的使用方法建立一個轉換(參考方法:http://blog.csdn.net/huiweizuotiandeni/article/details/54381922)


10. 測試該轉換,確保該轉換正確

11. 編寫要執行的指令碼檔案 test.sh

在終端執行: touchtest.sh  新建test.sh指令碼檔案

執行:vim test.sh 

鍵入:“ i ” 進行編輯

內容為:

export JAVA_HOME=/usr/java/jdk1.8.0_111
export JRE_HOME=/usr/java/jdk1.8.0_111/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
/home/LT/桌面/kettle/pdi-ce-7.0.0.0-25/data-integration/pan.sh -file=/home/LT/kettleLearner/littltcsvToTable.ktr > /home/LT/kettleLearner/log.txt

解釋:

<1.指令碼檔案前4行找到java環境變數,

<2.後一行目錄為需要執行的程式(pan.sh執行ktr轉換  kitchen執行kjb任務),需要執行的ktr檔案,輸出的日誌檔案


12. 測試要執行的指令碼檔案, chmod a+x *.sh,給test.sh新增檔案的執行許可權

等待執行過程,結束後檢視資料庫,檔案插入成功,指令碼正確


13. 在終端上,鍵入“crontab-e”,進入定時任務檔案

鍵入”a”,或”i”對檔案進行編輯

輸入如下內容:

45 09 16 01 * /home/LT/kettleLearner/test.sh

            其中 45為分鐘,09為小時,16為日,01為月,*為星期幾,後面為所執行指令碼目錄

14. 鍵盤敲擊esc,終端鍵入“:wq”,儲存檔案

15. 檢視crontab服務狀態

            service crond status


服務已經啟動

            服務目錄為

/usr/lib/systemd/system/crond.service

16. 進入服務目錄, 重啟服務

            systemctl restart crond.service
17. 等到設定好的時間,程式自動執行,返回資料庫檢視資料成功插入