Kettle项目windows和linux环境部署命令

初学KETTLE,自学部署,如有问题,欢迎小伙伴们指正

编写DAT脚本,利用windows定时任务执行。

DAT脚本如下:

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin 
::
set main_name=作业名称
set current_month=%date:~0,4%%date:~5,2%
set current_day=%date:~0,4%%date:~5,2%%date:~8,2%
set name=%main_name%.kjb
set current_path=%cd%
set current_path_bat=%cd%\%name%
set current_log_name=%main_name%_%current_day%.log
set time=%date:~0,4%%date:~5,2%%date:~8,2%
mkdir logs\%main_name%\%current_month%

::spoon.bat的路径设置成环境变量 ,需要提前设置,如果设置了全局变量,可以不需要cd              
cd /d %KETTLE_PATH%	

kitchen /file:%current_path_bat% /level:Base>>%current_path%\logs\%main_name%\%current_month%\%current_log_name%

作业名称是做好的作业kjb文件入口,该DAT脚本文件与作业在同一目录。该脚本主要是为了根据日期生成相应日志文件。

linux与windows主要是脚本不同,linux编写shell脚本,新建.sh文件。在命令窗口,打开到路径,输入./**.sh执行即可。需要提前设置好kitchen.sh的全局变量。需要注意的是,尽量在linux环境下编写脚本。windows下编写容易出现换行的问题。

##获取当前路径
current_path="$PWD"
##*代表自己真实路径和文件名
kitchen.sh -file=$current_path/*/mainjob.kjb ­level=basic >>./*.log

 

你可能感兴趣的:(KETTLE)