在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.service17. 等到設定好的時間,程式自動執行,返回資料庫檢視資料成功插入