環境
centos7
jdk1.8.141
kettle7.1
-
确定本地已配置好java1.8環境,将kettle安裝包複制到linux目錄下,unzip解壓
-
運作 ./kitchen.sh 可以看到相關指令說明環境配置無誤,
-
如顯示BASH:/ kitchen.sh的:權限被拒絕,需要給.sh檔案執行權限
指令為:chmod a+x *.sh
-
在建立kettle項目前,檢查是否已将需要用到的資料庫JDBC包放置到kettle目錄lib檔案下
-
可以在windows中編輯好項目所需的ktr、kjb檔案,複制到centos7中 手動執行job指令:./kitchen.sh -file=/opt/kettle/testjobs/testJob.kjb
-
用vi指令打開kjb檔案,将檔案中的ktr相對位址改為centos中的位址
-
運作sh ./kitchen.sh –file=/opt/kettle/testjob/testJob.kjb,測試在centos環境下運作無誤
-
建立 .sh 檔案 touch schedule.sh
運作 chmod a+x *.sh 賦予權限
運作vi test.sh 建立.sh檔案,因為定時任務crond不能調用自定義環境變量,使用kettle時必須申明java環境
export JAVA_HOME=/usr/jdk1.8.0_201
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
/opt/kettle/kitchen.sh -file=/opt/kettle/testjob/testJob.kjb log=log.timelog ~data +%y%m%d(注意此處為鍵`不是單引号’)
(若有多個任務,就建立多個.sh檔案,如test2.sh,并在編輯定時任務時單獨配置)
- 儲存後,運作chmod a+x *.sh給schedule.sh添加執行權限
10.運作 crontab -e 編輯定時任務
*/5 * * * * bash /opt/kettle/test.sh 表示每隔5分鐘執行一次test.sh
- 儲存後,運作 crontab -l 檢視定時任務是否已載入
- 運作 systemctl restart crond 重新開機定時任務,運作 systemctl status crond 檢視crontab服務狀态
- 在資料庫檢視kettle任務是否正确執行