1. 程式人生 > >在centos7下設定kettle定時任務

在centos7下設定kettle定時任務

環境

centos7

jdk1.8.141

kettle7.1

1.      確定本地已配置好java1.8環境,將kettle安裝包複製到linux目錄下,unzip解壓

2.     執行kitchen.sh 可以看到相關命令說明環境配置無誤,

3.     如顯示BASH/ kitchen.sh的:許可權被拒絕,需要給.sh檔案執行許可權

命令為:chmod a+x*.sh

4.     在建立kettle專案前,檢查是否已將需要用到的資料庫JDBC包放置到kettle目錄lib檔案下

5.     可以在windows中編輯好專案所需的ktrkjb檔案,複製到centos7

6.     

vi指令開啟kjb檔案,將檔案中的ktr相對地址改為centos中的地址

7.     執行sh kitchen.sh –file/home/etl/jobtest.kjb,測試在centos環境下執行無誤

8.      執行vi schedule.sh 新建.sh檔案,因為定時任務crond不能呼叫自定義環境變數,使用kettle時必須申明java環境

export JAVA_HOME=/usr/java/jdk1.8.0_141

export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$PATH

/home/data-integration/kitchen.sh -file /home/etl/job_test.kjb-logfile /home/etl/log/`data +%y%m%d`(注意此處為~鍵`不是單引號’)

9. 儲存後,執行chmod a+x *.shschedule.sh新增執行許可權

10.執行 crontab –e 編輯定時任務

*/5 * * * * bash /home/etl/ schedule.sh表示每隔5分鐘執行一次schedule.sh

11.   儲存後,執行crontab–l檢視定時任務是否已載入

12.   執行systemctl restartcrond重啟定時任務,執行service crond status檢視crontab服務狀態

13.   在資料庫檢視kettle任務是否正確執行

注意: 在windows中編輯的txt、bat等文字檔案放到centos環境下改為.sh檔案不能執行,因為符號及編碼方式不同會報錯