linux上使用crond定时执行kettle的job怎么解决

linux上使用crond定时执行kettle的job怎么解决,第1张

linux上使用crond定时执行kettle的job的解决方法:

一、部署kettle

1. 将pdi-ce-4.1.0-stable.zip上传到Linux服务器。

2. 使用unzip命令解压pdi-ce-4.1.0-stable.zip

unzip pdi-ce-4.1.0-stable.zip -d "/mnt/kettle"

3. 赋予解压目录下.sh文件的执行权力chmod +x *.sh

4.进入解压目录,键入“./kitchen.sh”回车,如果有帮助信息则表示kettle环境部署成功。

二、接着,编写执行kettle任务的shell脚本

创建test.sh,将以下内容复制粘贴到里面,然后入“chmod+x /mnt/kettle/*.sh”,赋予test.sh执行权限。

export JAVA_HOME=/usr/java/jre1.6.0_23

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

/mnt/kettle/data-integration/kitchen.sh -file=/mnt/kettle/test.kjb > /mnt/kettle/display.txt

说明:

前3行,设置Java环境变量的语句必不可少,因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。

三、最后,使用crontab命令添加定时任务

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

2.键入“a”,对文件进行编辑。

 输入如下内容: 23 11 10 02 * /mnt/kettle/test.sh

其中 23为分钟,11为小时,10为日,02为月,*为星期几,crontab命令的使用这里不再赘述。

3.键盘敲击exc,终端键入“:wq”,保存文件。

4.重启crond服务。

键入“cd /etc/init.d”,进入该目录。

键入“./crond restart”,重启crond服务。

5.等待执行结果。

6.执行成功,oh..nice!

就是后台要有这个进程才可以,如果是通过界面执行的话,要点击那个绿色的三角,如果是命令行启动,后台要有这个进程。不推荐使用kettle里面的自动执行,使用 *** 作系统的定时执行要比这个稳定的多。windows下使用定时任务计划,linux下使用crontab


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8607662.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存