kettle做定时任务平时任务中经常需要用两种方法;
一、kettle自带的功能。
具体操作如下:
首先形成一个job,然后点击开始组件;结果如图:
![a4c4ad980efa022eb74b12f604fc914e.png](https://img-blog.csdnimg.cn/img_convert/a4c4ad980efa022eb74b12f604fc914e.png)
当需要定时时,那么就是需要重复;此时勾选重复选项,然后点击类型下拉选选择你需要定时的类型,如时间间隔,天,周,月;
![c6d3adeb395886430a09f96a711c9154.png](https://img-blog.csdnimg.cn/img_convert/c6d3adeb395886430a09f96a711c9154.png)
如果选择时间间隔,意味着你每隔多长时间执行一次,单位是分秒,自行选择。如图
![ecddb9d79e5299a56573d35ad973cc71.png](https://img-blog.csdnimg.cn/img_convert/ecddb9d79e5299a56573d35ad973cc71.png)
当选择了天,那么就是意味着在每天的几点执行,如图
![d7aa8871502eedb68c6f5d0b3c776acd.png](https://img-blog.csdnimg.cn/img_convert/d7aa8871502eedb68c6f5d0b3c776acd.png)
当选择了周,就意味这是在每周的几点执行
![b3b9210aa6f3422ebef0eda431c931ee.png](https://img-blog.csdnimg.cn/img_convert/b3b9210aa6f3422ebef0eda431c931ee.png)
当选择了月,意味着是在每月的多少号的几点执行
![6db8593a668d9880f52b93b697e53706.png](https://img-blog.csdnimg.cn/img_convert/6db8593a668d9880f52b93b697e53706.png)
当然这时一种单选,选择之后一定记得点击确定;
但这种方法有一个很明显的不足,就是这种方法需要kettle程序包必须一直运行,否则失效,如果一直运行,会对系统造成一种浪费,并且会存在很多的不确定性;
二、通过操作系统的自带的定时工具,比如windows的“计划任务”,linux的crontab,我以这两种做介绍;
这个前提是首先形成一个job,也就是kettle的kjb,有了这个才能继续下去;
有了kjb文件后,形成批处理文件,即分别是bat或sh;
windows:
D:
cd D:ETL3.1 //进入kitchen.bat的目录
kitchen.bat /file:D:kettle_jobkjbest.kjb /level:Base>>D:KettleProjectest.log //指定目录级别,如基本,错误等;
做好批处理文件后,加到计划任务中
在windows的搜索栏中,搜索“计划任务”(不同版本不太一样),如图
![0bb802c10ac4a7eb525b5a06f7a07c77.png](https://img-blog.csdnimg.cn/img_convert/0bb802c10ac4a7eb525b5a06f7a07c77.png)
点击程序左上方的操作,选择创建任务
![ab77762cca847751649962d949bee4fa.png](https://img-blog.csdnimg.cn/img_convert/ab77762cca847751649962d949bee4fa.png)
输入任务的名字,其他的用默认就好,然后点击操作
![72d154e024e07c0764ce95d3e6599f21.png](https://img-blog.csdnimg.cn/img_convert/72d154e024e07c0764ce95d3e6599f21.png)
点击新建,然后选择你建的bat文件;最后点击确定,然后点 触发器;所谓的触发器就是你的定时
![aaf4a34d83c7b6a99264fb3df16be555.png](https://img-blog.csdnimg.cn/img_convert/aaf4a34d83c7b6a99264fb3df16be555.png)
上面的开始任务下拉选可以进行选择,一般我们选择按预定计划;我们就按照这个来讲解,其他有需要的朋友可以在深入的了解;接下来选择频率,如每天,每月,每周;这个和用kettle自带功能一样,不再叙述;
linux 同样也是先进行生成批处理文件sh,和windows一样; 接下来使用linux的crontab,怎么处理呢,在控制台用root用户输入vi /etc/crontab,如图
![ca4e63fde56352df7e8c6e33724741f5.png](https://img-blog.csdnimg.cn/img_convert/ca4e63fde56352df7e8c6e33724741f5.png)
然后输入 i,就是输入的意思;
例子系统给的有,分别有5位;分别是分,时,每月的天,月,周的天;
举个例子:
![ed46b8c1c7b400dd65f39eb9294d9731.png](https://img-blog.csdnimg.cn/img_convert/ed46b8c1c7b400dd65f39eb9294d9731.png)
意为每天的7点10分执行;
然后按 ESC退出编辑模式,然后输入:wq
![dde417d288745d6ca960dc611be6c629.png](https://img-blog.csdnimg.cn/img_convert/dde417d288745d6ca960dc611be6c629.png)
1
意思就是保存退出,这样就ok了;