linux系统下调度数据库类型资源库中的kettle job

时间:2022-05-17 01:48:06

已经存在kettle的一个资源库enfo,在目录/works/wxj下面有一个job (testmailsuccess.kjb)如何实现手工在kettle外部执行此job和让系统每天定时的调用此job.

进入linux系统,切换至kettle所属用户(确保kettle已经在linux系统上配置OK)

配置OK体现:

A:进入目录执行 ./kitchen.sh 有帮助信息

linux系统下调度数据库类型资源库中的kettle job

B:kettle所属用户(我这里kettle在cognos用户里面配置的)根目录下有.kettle文件夹(和windows内容一样)

linux系统下调度数据库类型资源库中的kettle job

(1)先说手工调用:

和windows系统一样,我们需要进入到data-integration目录下面执行命令

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

linux系统下调度数据库类型资源库中的kettle job

看数据

linux系统下调度数据库类型资源库中的kettle job

数据已经执行,日志已生成到指定目录

linux系统下调度数据库类型资源库中的kettle job

(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

linux系统下调度数据库类型资源库中的kettle job

这个错误大家都不陌生了吧,给kettlejob文件夹下面的所有.sh文件赋执行权

linux系统下调度数据库类型资源库中的kettle job

赋权成功,再次执行./test.sh

linux系统下调度数据库类型资源库中的kettle job

这次不是权限的问题,于是带着问题进入internet寻找答案,觅得

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

linux系统下调度数据库类型资源库中的kettle job

从上面可以看出,需要在编辑模式下改变test.sh文件的格式,操作如下

linux系统下调度数据库类型资源库中的kettle job

按一下esc 输入 :set ff?查看现在文件的类型

linux系统下调度数据库类型资源库中的kettle job

结果为

linux系统下调度数据库类型资源库中的kettle job

输入 :set ff=unix 修改类型

linux系统下调度数据库类型资源库中的kettle job

回车输入:wq!保存退出

linux系统下调度数据库类型资源库中的kettle job

再次查看文件类型

linux系统下调度数据库类型资源库中的kettle job

OK 已经修改过来

回到kettlejob目录,执行./test.sh

linux系统下调度数据库类型资源库中的kettle job

从上面可以看出手工执行test.sh执行成功。

下面把test.sh写入到cognos用户下的crontab任务中

回到cognos根目录下,crontab -e 写入一下内容

linux系统下调度数据库类型资源库中的kettle job

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

再次查看crontab 调度任务

linux系统下调度数据库类型资源库中的kettle job

从上面可以看出已经部署OK

已经到了 17:5查看执行效果

linux系统下调度数据库类型资源库中的kettle job

从数据和Email可以看出,调度已执行,OK,部署完成!