• 在Linux下设置Kettle的定时任务


    其实在这里写之前,请自己将kettle与适合的JDK安装好(

    kettle :安装很简单只是将下载好的文件上传至对应的地方,如果是压缩包,解压即可。
    JDK安装: https://www.cnblogs.com/yuezc/p/12102638.html),下面的只是做定时任务的设置。

    一、【创建脚本文件】

    注意:在创建完脚本之后一定记得赋予执行权限(chmod +x test.sh),否则不会运行该脚本。

    1、创建脚本文件目录 kettleShell 和日志文件 kettleLogs

    [root@localhost ~]# cd /usr/local/
    [root@localhost local]#  mkdir  kettleShell  kettleLogs

    2、在到目录kettleShell文件下创建test.sh脚本

    [root@localhost local]# cd kettleShell/
    [root@localhost kettleShell]# ls
    test.sh  -- 文件中其实已经存在了(如果没有则在这个目录下,输入: touch test.sh 即可)
    [root@localhost kettleShell]# cat test.sh  -- cat 是查看文件内容的命令,脚本内容如下即可
    
    #!/bin/bash
    /* source /etc/profile  // 这个是有人这模做的,但我没成功,可能是路径问题吧。后面我改成为如下:
    export是JDK的配置属性,后面实践过程总,其实原因是配置的信息没有紧靠左边而已
    */
    
    

      export JAVA_HOME=/usr/local/jdk/jdk1.7.0_80
      export PATH=$JAVA_HOME/bin:$PATH
      export CLASSPATH=.:/$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    TIME=$(date "+%Y%m%d")
    /usr/local/kettle/data-integration/kitchen.sh -file=/usr/local/路径/boss.kjb >>/usr/local/kettleLogs/log$TIME.log

    说明:

    /usr/local/kettle/data-integration/kitchen.sh,这个是kettle的工具路径;

    -file=/usr/local/biemsj/kettle_data/boss.kjb 是运行转换文件的路径;

    /usr/local/kettleLogs/log$TIME.log 是转换过程的日志。

    然后在,etc下的profile文件中添加如下命令,单独红色的,这个是kettle的安装路径:profile文件编辑完成后,运行命令: source /etc/profile  

    # 配置.kettle目录
    export KETTLE_HOME=/usr/local/kettle/sdrs_tools/data-integration
    # 配置JDK环境
    export JAVA_HOME=/usr/local/jdk/jdk1.7.0_80
    export JRE_HOME=$JAVA_HOME/jre
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:/$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    unset -f pathmunge
     CATALINA_BASE=/usr/local/tomcat70103
     CATALINA_HOME=/usr/local/tomcat70103
     PATH=$PATH:$CATALINA_BASE/bin
    export PATH CATALINA_BASE

    这里需要用到vim 的命令。

    编辑文件:vim test.sh

    [root@localhost kettleShell]# vim test.sh

    按回车进入这个文件编辑状态,在按 I 键,即可编辑。具体的操作需要自行学习。

    将内容编辑完成。退出时,按Esc 键,再按 :wq或 :wq! 即可。

    二、【编写定时时间】
    -- 在crontab -e中编辑定时时间

    * 2 * * * /usr/local/kettleShell/test.sh   //每天凌晨2点开始运行。

    三、【重启crond服务】
              键入“cd /etc/init.d”,进入该目录
              键入“./crond restart”,重启crond服务

    情况1:当linux发行的版本没有service这个命令时候,用如下命令进行停止启动:

    停止服务:[root@centos6 /]# /etc/init.d/crond stop

    启动服务:[root@centos6 /]# /etc/init.d/crond start

    情况2:如果出现错误提示:Redirecting to /bin/systemctl start crond.service,则需要更换为 systemctl start crond 启动。

    [root@localhost ~]# service crond start
    Redirecting to /bin/systemctl start crond.service
    [root@localhost ~]# systemctl start crond
    [root@localhost ~]#
  • 相关阅读:
    在线音视频(MP3/MP4)测试文件
    jQuery 找包含内容的节点,但不搜索子节点
    bash 脚本小练习:查看 git 提交对应的提交数
    桌面应用开发的日子(二):实现文件资源管理列表树加载
    桌面应用开发的日子(一):初识WPF
    Winform同一数据源多个控件保持同步
    Windows Form中DataGridView的基本玩法
    jsp第七周作业
    jsp第五周作业
    jsp第六周作业
  • 原文地址:https://www.cnblogs.com/yuezc/p/12101089.html
Copyright © 2020-2023  润新知