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