Linux下kettle的定时调度

2017-07-25  本文已影响0人  夏无忧阳

类UNIX系统的调度命令:cron


在类unix系统中,cron是经常使用的调度命令,是系统自带的。
crontab 是cron的调度文件,只要往这个文件里增加一个记录项,就会增加一个调度。crontab文件通常位于/etc/contab。
crontab里的记录项就是一个字符串,这个字符串的前半部分是调度方式,后半部分是要调度的命令行,也就是kettle的kitchen(执行作业)和pan(执行转换)命令,或者是调用kitchen或者pan的shell脚本。

需要了解的一点crontab的基本知识


  1. 账号的使用情况
    /etc/cron.allow
    將可以使用 crontab 的帳號寫入其中,若不在這個檔案內的使用者則不可使用 crontab;
    /etc/cron.deny
    將不可以使用 crontab 的帳號寫入其中,若未記錄到這個檔案當中的使用者,就可以使用 crontab 。
    預設情況下,任何使用者只要不被列入 /etc/cron.deny 當中,那麼他就可以直接下達『 crontab -e 』去編輯自己的例行性命令了!
  2. 基础常识(截取自鸟哥的linux私房菜)

linux下的kettle定时调度


  1. 新建一个shell脚本执行kettle的调度
    vim job.sh
    添加如下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_40
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
/opt/kettle/data-integration/kitchen.sh  /opt/kettle/wy/job/test.kjb >>/opt/kettle/kettle_`date +%Y%m%d`.log  #使用kitchen执行test这个job,并生成日志文件

可以执行kitchen.sh文件来查看相关参数。根据需要进行更改。如下:


注意:
  在脚本中应指定 SHELL,PATH,HOME 变量, 否则很容易出现脚本,命令找不到的情况。我这里就将执行kettle的环境变量添加到了shell脚本中。
  1. 配置crontab文件
    [kettler@localhost kettle]$ crontab -e
    添加如下内容:
    0 2 * * * /opt/kettle/job.sh #每天晚上两点执行这个shell脚本
    这样就可以实现每晚2点定时执行我们的kettle的job了。
上一篇下一篇

猜你喜欢

热点阅读