1. 确保作业 $KETTLE_HOME/kitchen.sh -file=/data1/testdata/testkjb.kjb 或转换 $KETTLE_HOME/pan.sh -file=/data1/testdata/testktr.ktr 能在Linux下正常执行
此步骤在JDK配置正确,(Ps.可选择配置Kettle的环境变量,主要是定位程序所在主目录,不用每次引用绝对路径),当前用户拥有对应*.sh文件有执行权限的情况下,很少有 其它问题。
2.编写执行Kettle作业或转换的execron.sh脚本,此处特别要注意红色标注部分,Shell脚本里面要执行一下刷新当前系统环境变量的操作,因为crontab命令执行脚本时不会读取当 前的环境变量
#!/bin/bash source /etc/profile #$KETTLE_HOME/pan.sh -file=/data1/testdata/testktr.ktr
$KETTLE_HOME/kitchen.sh -file=/data1/testdata/testkjb.kjb
3. crontab -e 进入定时任务编辑文件,命令格式见下方:
# Example of job definition: # .---------------- 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 # | | | | | # * * * * * user-name command to be executed
分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令
例如:每天早上7:50执行一次execron.sh
50 7 * * * /data1/testdata/execron.sh
详细执行命令解释请参考百度百科:
crontab_百度百科