环境
centos7
jdk1.8.141
kettle7.1
-
确定本地已配置好java1.8环境,将kettle安装包复制到linux目录下,unzip解压
-
运行 ./kitchen.sh 可以看到相关命令说明环境配置无误,
-
如显示BASH:/ kitchen.sh的:权限被拒绝,需要给.sh文件执行权限
命令为:chmod a+x *.sh
-
在建立kettle项目前,检查是否已将需要用到的数据库JDBC包放置到kettle目录lib文件下
-
可以在windows中编辑好项目所需的ktr、kjb文件,复制到centos7中 手动执行job命令:./kitchen.sh -file=/opt/kettle/testjobs/testJob.kjb
-
用vi指令打开kjb文件,将文件中的ktr相对地址改为centos中的地址
-
运行sh ./kitchen.sh –file=/opt/kettle/testjob/testJob.kjb,测试在centos环境下运行无误
-
创建 .sh 文件 touch schedule.sh
运行 chmod a+x *.sh 赋予权限
运行vi test.sh 新建.sh文件,因为定时任务crond不能调用自定义环境变量,使用kettle时必须申明java环境
export JAVA_HOME=/usr/jdk1.8.0_201
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
/opt/kettle/kitchen.sh -file=/opt/kettle/testjob/testJob.kjb log=log.timelog ~data +%y%m%d(注意此处为键`不是单引号’)
(若有多个任务,就新建多个.sh文件,如test2.sh,并在编辑定时任务时单独配置)
- 保存后,运行chmod a+x *.sh给schedule.sh添加执行权限
10.运行 crontab -e 编辑定时任务
*/5 * * * * bash /opt/kettle/test.sh 表示每隔5分钟执行一次test.sh
- 保存后,运行 crontab -l 查看定时任务是否已载入
- 运行 systemctl restart crond 重启定时任务,运行 systemctl status crond 查看crontab服务状态
- 在数据库查看kettle任务是否正确执行