在linux下设置kettle的定时任务方法

1.     安装centos

2.     安装java环境参考网址:  http://www.cnblogs.com/haoliansheng/p/5832979.html

3.     解压kettle.zip 进入kettle.zip目录,

4.     运行 unzip kettle.zip


5.     等待解压完成

6.    进入解压目录,找到./kitchen.sh

7.    键入./kitchen.s看输出信息

会看到BASH/ kitchen.sh的:权限被拒绝,所以得知,kitchen.sh缺少执行权限

所以,我们赋予.sh文件以执行权限(x

命令为:chmod a+x *.sh  

在linux下设置kettle的定时任务方法_第1张图片


8.    执行./kitchen.sh后窗口开始运行很多命令,可以看到帮助信息,结束后

执行./spoon.sh启动kettle成功

在linux下设置kettle的定时任务方法_第2张图片

9. 按照在windows中的使用方法创建一个转换(参考方法:http://blog.csdn.net/huiweizuotiandeni/article/details/54381922)


10. 测试该转换,确保该转换正确

11. 编写要执行的脚本文件 test.sh

在终端执行: touchtest.sh  新建test.sh脚本文件

执行:vim test.sh 

键入:“ i ” 进行编辑

内容为:

[plain]  view plain  copy
  1. export JAVA_HOME=/usr/java/jdk1.8.0_111  
  2. export JRE_HOME=/usr/java/jdk1.8.0_111/jre  
  3. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  
  4. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH  
  5. /home/LT/桌面/kettle/pdi-ce-7.0.0.0-25/data-integration/pan.sh -file=/home/LT/kettleLearner/littltcsvToTable.ktr > /home/LT/kettleLearner/log.txt  

解释:

<1.脚本文件前4行找到java环境变量,

<2.后一行目录为需要执行的程序(pan.sh执行ktr转换  kitchen执行kjb任务),需要执行的ktr文件,输出的日志文件


12. 测试要执行的脚本文件, chmod a+x *.sh,给test.sh添加文件的执行权限

等待执行过程,结束后查看数据库,文件插入成功,脚本正确


13. 在终端上,键入“crontab-e”,进入定时任务文件

键入”a”,或”i”对文件进行编辑

输入如下内容:

[plain]  view plain  copy
  1. 45 09 16 01 * /home/LT/kettleLearner/test.sh  

            其中 45为分钟,09为小时,16为日,01为月,*为星期几,后面为所执行脚本目录

14. 键盘敲击esc,终端键入“:wq”,保存文件

15. 查看crontab服务状态

            service crond status

在linux下设置kettle的定时任务方法_第3张图片

服务已经启动

            服务目录为

/usr/lib/systemd/system/crond.service

16. 进入服务目录, 重启服务

            systemctl restart crond.service

17. 等到设置好的时间,程序自动执行,返回数据库查看数据成功插入

18. 后台执行kettle写法:

    1./home/kettle/data-integration/kitchen.sh -file=/home/kettle/transition/move.kjb log=log.log &(“&”就是这个符号了!!)

    2. nohup /home/kettle/data-integration/kitchen.sh -file=/home/kettle/transition/move.kjb log=log.log


你可能感兴趣的:(数据仓库平台建设)