`
独善其身008
  • 浏览: 171176 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

linux下使用crond定时执行kettle的job

 
阅读更多
由于第一次碰linux,对其不是很了解,导致这个问题困扰了我近一个月的时间,现在终于解决了,分享给大家。

首先,安装jre,配置java环境变量
 
(一)   下载jre-6u23-linux-x64.bin

下载地址:http://cds-esd.sun.com/ESD6/JSCDL/jdk/6u23-b05/jre-6u23-linux-x64.bin?AuthParam=1292401739_2abc6c61c57eec5b100fe647086d1f33&TicketId=CJ0nhpzNkjGGwpbkW40LAgA%3D&GroupName=CDS&FilePath=/ESD6/JSCDL/jdk/6u23-b05/jre-6u23-linux-x64.bin&File=jre-6u23-linux-x64.bin

(二)   安装jre-6u23-linux-x64.bin

      将jre-6u23-linux-x64.bin上传到linux服务器

1.     在终端上,键入:
su

2.     输入超级用户口令。

3.     切换到所需的安装目录。类型:
cd <目录路径名>
例如,要在 /usr/java/ 目录中安装软件,请键入:
cd /usr/java/

关于超级用户访问权限的说明:要将 JRE 安装在系统级位置(例如 /usr/local),必须以超级用户身份登录,从而获得必要的权限。如果您不具有超级用户访问权限,请将 JRE 安装在您的主目录中,或者安装在您具有写入权限的子目录中。

4.     将您下载的文件的权限更改为可执行。类型:
chmod a+x jre-6u23-linux-x64.bin

5.      启动安装过程。键入:
./ jre-6u23-linux-x64.bin

此时将显示二进制许可协议。通读许可协议。按空格键显示下一页。读完许可协议后,输入 yes 继续安装(此步骤可能直接跳过)。

7.     JRE 安装在其自身的目录中。在本例中,它将安装在 /usr/java/ jre1.6.0_23目录中。当安装完成时,您将看到 Done(完成)字样。


(三)   配置java环境变量
1.     命令行键入“cd /etc”进入etc目录

2.     命令行键入“vi profile”打开profile文件

3.     敲击键盘ctrl+F到文件末尾

4.     在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件

JAVA_HOME=/usr/java/jre1.6.0_23

PATH=$JAVA_HOME/bin:$PATH

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

export JAVA_HOME

export PATH

export CLASSPATH

     5.     键盘敲击exc,命令行键入“:wq”,保存文件;

     6.     重新登录linux,在命令行键入“java”,如果出现帮助信息则表示配置成功。


然后,部署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定时任务

    kettle定时任务是指使用crond在Linux系统中定时执行kettle任务的过程。kettle是一种数据集成工具,能够将不同的数据源集成到一起,对数据进行处理和转换。下面将对kettle定时任务的每个步骤进行详细的解释。 安装...

    使用crond 在linux中定时执行任务.pdf

    在Linux操作系统中,定时执行任务是一项重要的管理任务,常用于自动化日常维护工作,如备份、日志清理、系统监控等。`crond`服务是Linux系统中实现定时任务的核心组件,它允许管理员根据预定义的时间间隔安排任务的...

    使用crond 在linux中定时执行任务.docx

    对于Java程序的定时执行,我们需要确保环境变量正确设置,特别是`JAVA_HOME`和`CLASSPATH`。这可以通过在脚本的开头添加`export`命令来完成。例如: ```bash export LC_ALL=zh_CN export JAVA_HOME=/web/bea/jdk141_...

    linux Crond 执行预定任务

    ### Linux Crond 服务执行预定任务 在Linux操作系统中,定时任务是非常重要的功能之一,它可以帮助用户自动执行一些周期性的任务,比如数据备份、系统清理等。Linux中主要有两种方式来实现定时任务:atd服务和crond...

    linux下定时执行计划任务

    ### Linux 下定时执行计划任务详解 #### 一、概述 在 Linux 操作系统中,定时执行计划任务是一项非常实用的功能,它可以自动地按照预设的时间周期执行特定的任务或脚本,比如定期备份数据、定时清理日志文件等。...

    Linux中使用crond工具创建定时任务的方法

    在Linux系统中,`crond`工具是一个非常重要的定时任务管理程序,它允许用户和管理员在无需人工干预的情况下定期执行任务。这个工具相当于Windows操作系统中的“计划任务”功能。`crond`作为一个守护进程(daemon),...

    crontab执行时间与系统时间不一致问题解决

    cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。  service crond start //启动服务  service crond stop //关闭服务  service crond restart //重启服务  service crond reload //...

    oracle rman自动备份的计划任务CROND不执行的几种情况及解决

    为了提高效率并减少人工干预,通常会采用 Linux 的 CROND 工具来定时执行 RMAN 备份脚本。然而,在实际操作过程中,有时会遇到 CROND 无法正常执行 RMAN 脚本的情况。本文将详细介绍这两种常见问题及其解决方案。 #...

    linux下oracle定时备份

    在Linux终端中,可以使用以下命令检查和管理`crond`服务的状态: ```bash /sbin/service crond start # 启动crond服务 /sbin/service crond restart # 重启crond服务 /sbin/service crond stop # 停止crond服务 /...

    linux 计划任务cron--怎么定时执行的指令

    虽然Cron和At都可以用于定时执行任务,但它们之间存在一些关键差异: - **Cron**适用于周期性任务,如每天、每周或每月执行。 - **At**适用于一次性任务,指定具体时间点执行,适合于单次运行的需求。 总的来说,...

    Linux下定时任务,命令启停jar包服务

    Linux 下的定时任务和 jar 包服务管理 Linux 作为一款流行的操作系统,提供了许多强大的功能,其中之一就是定时任务的管理。定时任务允许用户在指定的时间执行特定的命令或程序,从而实现自动化操作。在 Linux 中,...

    Linux下定时执行脚本.docx

    【Linux下定时执行脚本】 Linux操作系统中,定时执行任务是一项重要的功能,它允许系统在预设的时间自动执行脚本或命令。这一功能主要通过`cron`服务来实现,它是Linux系统中的定时任务调度器。在没有图形界面的...

    Linux之定时任务Crond详解

    Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便会启动Crond任务调度服务。 Crond服务会定期(默认每分钟检查一次)检查系统...

    linux中定时任务crond命令使用方法

    crond是linux用来定期执行命令或指定程序任务的一种服务。安装完操作系统后,默认会启动crond任务调度服务。crond服务会定期检查系统中是否有要执行的任务。如果有要执行的任务便会自动执行该任务。crond定时任务...

    kettle 数据挖掘,组合转换 在windows和linux 使用,不同数据库之间数据同步

    - 使用`crontab -e`命令编辑定时任务,设置定时执行`task.sh`的计划,例如每5分钟执行一次。 - 通过`crontab -l`检查任务是否添加成功。 - 确保`task.sh`中指定了正确的Java和Kettle路径,可以使用`which java`...

    Linux 下定时任务使用详解

    【Linux 下定时任务使用详解】 Linux 系统中的定时任务主要通过 `cron` 服务来实现,它允许用户和系统管理员设置周期性被执行的任务。`cron` 是 Linux 的一个核心组件,但不会自动启动,需要手动操作或设置为开机...

    Linux定时执行程序Cronb.docx

    【Linux定时执行程序Cron】 在Linux系统中,Cron是一个强大的定时任务调度器,用于在特定时间执行预设的任务。对于系统维护和自动化工作流程来说,Cron扮演着至关重要的角色。根据提供的描述,我们需要在客户服务器...

    linux下定时备份ORALCE数据库

    最后,我们使用Linux的crond服务来定时执行这个脚本。首先,通过`ps -ef | grep crond`检查crond服务是否已经运行,如果没有,使用`service crond start`启动它。然后,通过`crontab -e`编辑crontab配置,添加定时...

Global site tag (gtag.js) - Google Analytics