编写bat脚本,让windows定时执行kettlejob,实现kettle调度

Kettle做定时任务有两种方式。

       第一种是kettle自带的Start控件,缺点是kettle程序必须始终运行,浪费内存。

       第二种是使用系统的定时功能。使用Kitchen、Pan命令编写bat、sh脚本,然后使用windows任务计划或者linux的crotab实现定时执行执行脚本。

第一种方式很少用到,所以我们直接来介绍第二种方式

首先我们需要了解Kettle的Kitchen和Pan

Kitchen——作业(job)执行器 (命令行方式)
Pan——转换(trasform)执行器 (命令行方式)
下面我们将重点讲解经常会用到的 ***作业执行器 Kitchen.bat *** 。参数项使用  /rep:参数值  或者 -rep=参数值  这两种方式都可以。

Kitchen 参数说明:
-rep:Repository name 任务包所在存储名
-user:Repository username 执行人
-pass:Repository password 执行人密码
-job:The name of the job to launch 任务包名称
-dir:The directory (don''t forget the leading / or )
-file:The filename (Job XML) to launch
-level:The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别
-log:The logging file to write to 指定日志文件
-listdir:List the directories in the repository 列出指定存储中的目录结构。
-listjobs:List the jobs in the specified directory 列出指定目录下的所有任务
-listrep:List the defined repositories 列出所有的存储
-norep:Don''t log into the repository 不写日志

我们先打开kettle,登录资源库,新建一个job

 

连接上自己的数据库,我们sql中写上这一段,job执行成功以后,表里就会有执行时候的时间

insert into test.jobtest
select now() 

 先执行一下,以免组件报错,导致bat文件报错

查一下表

 

ok,表里数据正常

我们现在来写bat文件,先新建一个txt文本,写上bat代码,保存,更改文本后缀txt改为bat

 

C:
cd C:\kettle\data-integration
kitchen.bat -rep=test -user=admin -pass=admin -dir=/ -job=test -level=basic>>C:\kettle\test.log

来说一下这些代码的含义

C:                                                就和linux里CD 到C盘一样,进入kettle的文件盘

cd C:\kettle\data-integration          指定kettle文件夹的路径

kitchen.bat                                     kettle的作业执行器

-rep=test                                        资源库的名字(我的是test)

-user=admin                                  资源库的用户名     

-pass=admin                                  资源库的密码

-dir=/                                               job在资源库里的目录(这里的目录是  /  根目录)

-job=test                                         job名(这里的job名字是  test)

-level=basic                                   日志等级    

>>C:\kettle\test.log                        日志存放的路径         >是覆盖写入 >>是追加写入


然后双击bat文件               

执行完成以后  会在设置的日志路径下,产生一个日志文件

这里我是执行了两边,追加写入日志里 

现在来查一下表

 数据进去了,说明bat执行kettlejob没有问题

现在我们来配置定时任务,让电脑自动执行bat文件,就可以调度了

打开控制面板,搜索计划任务

 

点击创建基本任务

 

 

 

 

 

 这些配置,按需求填写就好,完成以后,双击任务,在继续配置

一般任务是放在/目录下的,如果你点到别的目录,就会找不到任务在哪,这时候就点击根目录就好

 这样就找到了,双击任务,编辑触发器

 

 这里也按需求设置一下,我这边测试就随便填一下了

 接下里就是等他自动执行了

 

 

正常执行了,数据也正常插入了

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值