1,Centos目录下面创建三个文件(kettleFile--存放kettle的转换或者作业;kettleLogs--存放运行中的日志;kettleShs--存放任务定时的shell文件)

A

2,对应的shell定时文件设置:

①Kettle的转换文件对应的shell文件--test_tr.sh(kettle中的pan.sh是针对转换的)

#!/bin/bash

currTime=$(date "+%Y-%m-%d,%H:%M:%S")
trName="ktr.timelog_"
logName=$trName${currTime}.txt

export JAVA_HOME=/opt/jdk1.8.0_191
export PATH=/opt/jdk1.8.0_191/bin:$PATH

# pan.sh 针对执行test_krt.ktr转换文件,后面为执行日志存放位置以及日志名称设置

/opt/data-integration_5.4/data-integration/pan.sh -file /opt/kettle/file/test_ktr.ktr -logfile /opt/kettle/kettleLogs/$logName

②Kettle的作业文件对应的shell文件--test_job.sh(kettle中的kitchen.sh是针对作业的)

#!/bin/bash

currTime=$(date "+%Y-%m-%d,%H:%M:%S")
trName="ktr.timelog_"
logName=$trName${currTime}.txt

export JAVA_HOME=/opt/jdk1.8.0_191
export PATH=/opt/jdk1.8.0_191/bin:$PATH

# kitchen.sh 针对执行test_kjb.kjb作业文件,后面为执行日志存放位置以及日志名称设置

/opt/data-integration_5.4/data-integration/kitchen.sh -file /opt/kettle/file/test_kjb.kjb -logfile /opt/kettle/kettleLogs/$logName

3,下面就是在Centos7内设置任务调度了

-----crontab -e  # 根据自身情况设置定时时间,具体百度即可!

.---------------------------------- minute (0 - 59) 表示分钟
|  .------------------------------- hour (0 - 23)   表示小时
|  |  .---------------------------- day of month (1 - 31)   表示日期
|  |  |  .------------------------- month (1 - 12) OR jan,feb,mar,apr ... 表示月份
|  |  |  |  .---------------------- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  表示星期(0 或 7 表示星期天)
|  |  |  |  |  .------------------- username  以哪个用户来执行 
|  |  |  |  |  |            .------ command  要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
|  |  |  |  |  |            |
*  *  *  *  * user-name  command to be executed


 

Logo

更多推荐