其實在這里寫之前,請自己將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 ~]#