0.必备工具
xshell
下载完成后进行连接
直接输入主机名后会提示输入用户名及密码,正确输入即可连接。
连接后进入主目录,如果期间断连,xshell会回到c盘
如需重新连接,在命令行敲下open即可重新连接。
jdk
安装kettle前,需要linux服务器内安装有jdk环境。推荐安装jdk8
1.安装kettle
在windows下载kettle压缩包并上传到linux服务器中,推荐用Xftp方式传输文件。
传输
在xshell里直接下载xftp工具
下载完成后,可以将文件直接拖拽。左边是window系统的目录,右边是linux目录
压缩
在xshell终端输入命令
unzip pdi-xxxxx-.zip /usr/local/新建目录
解压成功,kettle就安装完成了。
2.编写sh文件
2.1 创建文件
touch test.sh
2.2 进入编辑模式 vim test.sh
-
按下i进入编辑模式,编辑以下信息
#!/bin/bash export JAVA_HOME=/usr/local/java/jdk1.8.0_191 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:/$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar TIME=$(date "+%Y%m%d") /usr/kettle/data-integration/pan.sh -file=/usr/kettle/workspace/test/test.ktr >>/usr/kettle/log/log$TIME.log
前三行是找到java环境变量,
最后一行:需要执行的程序和输出的日志文件
-
pan.sh,执行ktr转换
-
kitchen,执行kjb任务
最后一行的生成目录一定不能换行,换行会导致生成的日志文件里面没有内容
3.发布定时计划
3.1 终端输入命令
crontab -e
3.2 编辑计划
输入内容
50 13 20 08 ~; /usr/local/sh/test.sh
编辑完成后按Esc退出编辑模式
再输入:wq并按下Enter
这里的执行文件以绝对路径写上去
上面内容表示:在8月20日13时50分执行,目录下的test.sh
参数详情
f1 f2 f3 f4 f5 program
-
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
-
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
-
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
-
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
-
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
* * * * * - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)
编辑完成后,系统会在指定时间执行操作。
每执行一次操作,系统会向用户发送邮件,其中包含操作日志。
每个用户名对应的文件就是日志内容,可以进行查看错误信息。
连接数据库记得把对应的jar包放到kettle目录下的lib里面