在Linux下設置Kettle的定時任務


其實在這里寫之前,請自己將kettle與適合的JDK安裝好(

kettle :安裝很簡單只是將下載好的文件上傳至對應的地方,如果是壓縮包,解壓即可。
JDK安裝: https://www.cnblogs.com/yuezc/p/12102638.html),下面的只是做定時任務的設置。

一、【創建腳本文件】

注意:在創建完腳本之后一定記得賦予執行權限(chmod +x test.sh),否則不會運行該腳本。

1、創建腳本文件目錄 kettleShell 和日志文件 kettleLogs

[root@localhost ~]# cd /usr/local/
[root@localhost local]#  mkdir  kettleShell  kettleLogs

2、在到目錄kettleShell文件下創建test.sh腳本

[root@localhost local]# cd kettleShell/
[root@localhost kettleShell]# ls
test.sh  -- 文件中其實已經存在了(如果沒有則在這個目錄下,輸入: touch test.sh 即可)
[root@localhost kettleShell]# cat test.sh  -- cat 是查看文件內容的命令,腳本內容如下即可

#!/bin/bash
/* source /etc/profile // 這個是有人這模做的,但我沒成功,可能是路徑問題吧。后面我改成為如下:
export是JDK的配置屬性,后面實踐過程總,其實原因是配置的信息沒有緊靠左邊而已
*/
 
         

  export JAVA_HOME=/usr/local/jdk/jdk1.7.0_80
  export PATH=$JAVA_HOME/bin:$PATH
  export CLASSPATH=.:/$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

TIME=$(date "+%Y%m%d")
/usr/local/kettle/data-integration/kitchen.sh -file=/usr/local/路徑/boss.kjb >>/usr/local/kettleLogs/log$TIME.log

說明:

/usr/local/kettle/data-integration/kitchen.sh,這個是kettle的工具路徑;

-file=/usr/local/biemsj/kettle_data/boss.kjb 是運行轉換文件的路徑;

/usr/local/kettleLogs/log$TIME.log 是轉換過程的日志。

然后在,etc下的profile文件中添加如下命令,單獨紅色的,這個是kettle的安裝路徑:profile文件編輯完成后,運行命令: source /etc/profile  

# 配置.kettle目錄
export KETTLE_HOME=/usr/local/kettle/sdrs_tools/data-integration
# 配置JDK環境
export JAVA_HOME=/usr/local/jdk/jdk1.7.0_80
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:/$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
unset -f pathmunge
 CATALINA_BASE=/usr/local/tomcat70103
 CATALINA_HOME=/usr/local/tomcat70103
 PATH=$PATH:$CATALINA_BASE/bin
export PATH CATALINA_BASE

這里需要用到vim 的命令。

編輯文件:vim test.sh

[root@localhost kettleShell]# vim test.sh

按回車進入這個文件編輯狀態,在按 I 鍵,即可編輯。具體的操作需要自行學習。

將內容編輯完成。退出時,按Esc 鍵,再按 :wq或 :wq! 即可。

二、【編寫定時時間】
-- 在crontab -e中編輯定時時間

* 2 * * * /usr/local/kettleShell/test.sh   //每天凌晨2點開始運行。

三、【重啟crond服務】
          鍵入“cd /etc/init.d”,進入該目錄
          鍵入“./crond restart”,重啟crond服務

情況1:當linux發行的版本沒有service這個命令時候,用如下命令進行停止啟動:

停止服務:[root@centos6 /]# /etc/init.d/crond stop

啟動服務:[root@centos6 /]# /etc/init.d/crond start

情況2:如果出現錯誤提示:Redirecting to /bin/systemctl start crond.service,則需要更換為 systemctl start crond 啟動。

[root@localhost ~]# service crond start
Redirecting to /bin/systemctl start crond.service
[root@localhost ~]# systemctl start crond
[root@localhost ~]#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM