Linux下crontab定时执行KettleJob
Linux下crontab定时执行KettleJob
HarleyZhuge 发表于11个月前
Linux下crontab定时执行KettleJob
  • 发表于 11个月前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

一、配置Linux的Java环境变量,参考本博客《Linux下配置Java环境变量》

二、部署Kettle

(1)将Kettle安装文件上传至linux服务器,例:pdi-ce-4.1.0-stable.zip

(2)解压安装文件至目录,例:/mnt/kettle:unzip pdi-ce-4.1.0-stable.zip -d "/mnt/kettle"

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

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

三、编写执行Kettle任务脚本

(1)创建执行脚本test.sh

(2)vi test.sh 将以下内容复制粘贴到里面

(提示:若是通过windows编写后复制到Linux,请注意回车问题,尽量直接在Linux编写,不同操作系统对回车空格的解释不用)

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)然后键入“chmod +x /mnt/kettle/*.sh”,赋予test.sh执行权限

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

四、crontab命令添加定时任务

(1)在终端上键入“crontab -e”,进入定时任务文件,键入“a”对文件进行编辑

(2)示例:23 11 10 02 * /mnt/kettle/test.sh(提示:若多个定时任务用回车隔开)

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

(3)键盘敲击esc,终端键入“:wq”,保存文件

(4)/etc/init.d/crond restart,重启crond服务

参考文章:http://www.blogjava.net/orangehf/archive/2011/02/11/344045.html

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 13
博文 248
码字总数 202912
×
HarleyZhuge
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: