其实在这里写之前,请自己将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 ~]#