linux系統下調度數據庫類型資源庫中的kettle job


已經存在kettle的一個資源庫enfo,在目錄/works/wxj下面有一個job (testmailsuccess.kjb)如何實現手工在kettle外部執行此job和讓系統每天定時的調用此job.

 

進入linux系統,切換至kettle所屬用戶(確保kettle已經在linux系統上配置OK

配置OK體現:

A:進入目錄執行 ./kitchen.sh 有幫助信息

B:kettle所屬用戶(我這里kettle在cognos用戶里面配置的)根目錄下有.kettle文件夾(和windows內容一樣)

(1)先說手工調用:

  和windows系統一樣,我們需要進入到data-integration目錄下面執行命令

  ./kitchen.sh -rep enfo -user wxj -pass wxj1988 -dir /works/wxj -job testmailsuccess -level=basic>>/home/cognos/kettlelog/testmailsuccess.log

 

 看數據

 

數據已經執行,日志已生成到指定目錄

(2):系統調度kettle job

 利用linux系統的調度命令,crontab 來實現對kettle job的調度,就是把手工執行的內容寫入到一個shell命令行里面,讓crontab自動的調用。

 這里是test.sh內容如下:

#!/bin/sh
export JAVA_HOME=/usr/java/jre1.6.0_20
cd /home/cognos/pdi-ce-4.2.0-stable/data-integration
./kitchen.sh -rep enfo -user wxj -pass wxj1988 -dir /works/wxj -job testmailsuccess -level=basic>>/home/cognos/kettlelog/testmailsuccess.log

目錄在:/home/cognos/kettlejob/test.sh

進入目錄執行./test.sh

這個錯誤大家都不陌生了吧,給kettlejob文件夾下面的所有.sh文件賦執行權

賦權成功,再次執行./test.sh

這次不是權限的問題,於是帶着問題進入internet尋找答案,覓得

http://blog.csdn.net/hen_man/article/details/6939000 thanks  解決方案

從上面可以看出,需要在編輯模式下改變test.sh文件的格式,操作如下

按一下esc 輸入 :set ff?查看現在文件的類型

結果為

輸入 :set ff=unix 修改類型

回車輸入:wq!保存退出

再次查看文件類型

OK 已經修改過來

回到kettlejob目錄,執行./test.sh

 

從上面可以看出手工執行test.sh執行成功。

下面把test.sh寫入到cognos用戶下的crontab任務中

回到cognos根目錄下,crontab -e 寫入一下內容

按一下 esc 然后:wq!保存退出

再次查看crontab 調度任務

從上面可以看出已經部署OK

已經到了 17:5查看執行效果

 

從數據和Email可以看出,調度已執行,OK,部署完成!

 

 

 

 

 


免責聲明!

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



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