千家信息网

kettle+window服务器定时报表邮件发送

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,需求:每次统计到的业务数据或运营数据,整理输出到excel文档中,定时把excel文件通过邮件发送到指定的邮箱中。环境:window系统+kettlekettle搭建环境忽略。文件路径配置:bat:存
千家信息网最后更新 2025年02月01日kettle+window服务器定时报表邮件发送

需求:
每次统计到的业务数据或运营数据,整理输出到excel文档中,定时把excel文件通过邮件发送到指定的邮箱中。
环境:window系统+kettle
kettle搭建环境忽略。
文件路径配置:

bat:存放定时任务的bat文件
excel:存放查询结果输入到的excel文件
KJB:存放kettle的作业文件
KTR:存放kettle的转换文件
log:存放日志文件(2种日志文件都存放在此,可以再次拆分成2个文件)

配置转换:
1、新建转换,配置DB连接访问数据库。
在核心对象的输入组里,拖出表输入,在输出组里拖出excel输出。

2、建立连接后,开始编辑表输入和excel输出。将需要查询的结果输出到excel文件中。
编辑表输入:注意,时间字段不能用时间类型,得转换成字符串,否则输出到excle的会是空。

编辑excel输出:文件&工作表部分,文件名可包含日期,如果是每天一次的,可只包含日期。

编辑excel输出:内容部分,获取字段看一下表输入过来的字段类型是不是想要的类型。

运行转换进行测试,文件路径存放到之前预定好的配置路径上。
配置作业:
1、选择文件新建作业
在通用、邮件和文件管理模块中,选择需要使用的模块,如下图。
本例大体思路。作业定时调度模块---->配置好的转换(确认转换是否有问题,可分支一个发送邮件,当转换异常时邮件告知)---->转换输出的结果---->把结果发送邮件给接收人---->结束成功标识

2、配置各个模块内容:
start的作业定时调度模块:
这个一般不调整,默认即可。后面使用window系统的定时任务计划执行kettle的定时任务,更稳定。

转换模块:
这里作业名称按需求取。转换文件,就是在配置转换后存放的文件。

可以设置日志:日志级别错误日志,还有日志文件的名称,要对应日志路径。其他的不用设置

配置添加到文件结果文件列表模块:
这里需要注意一下,勾选将上一个作业项的结果作为参数。不然,前面的转换生产的excel报表不会随邮件发送给接收人。

最后,复杂点的就是配置发送邮件模块:
这里使用的是网易邮箱,网易邮箱的STMP服务器:smtp.163.com
使用自己的网友163.com邮箱作为邮件发送端。

邮件服务器配置如下:
注意,验证的密码是你网易邮箱的授权码。建议信息写详细一些,如下图圈起来的回复名称,避免被网易邮箱判断为垃圾邮件。
在发送时,如果有此类报错,则需要注意:




运行作业,进行转换,并发送邮件测试:

也能收到邮件告警,邮件中有正常携带附件:

到此,基本上一个转换的作业就已经配置完成,验证也能正常运行和发送邮件。
下面,就该进行window上定时任务计划设置。
配置window定时任务计划:
1、配置可执行的任务文件bat。
新建一个记事本文件,取名chaxunshuchu.txt(随便取),里面的内容如下:
E:
cd E:\fq\kettle\pdi-ce-8.1.0.0-365\data-integration
kitchen.bat -file=E:\fq\kettle\KJB\查询输出excel表.kjb -level=basic>E:\fq\kettle\log\"%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%".log
对上面可执行文件脚本解释如下:
首先进入项目所在盘
cd 进入到kitchen.bat所在目录,在kettle的安装目录下
kitchen.bat问执行命令,-file后是kettle上存放的作业文件。
-level是生成的日志的等级,一般有basic、Detailed, Debug, Rowlevel, Error, Nothing。一般使用basic。
紧接着就是日志输入的文件路径:
"%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" 是时间作为日志名称的,固定格式
.log是日志的后缀。
将写好的记事本文件保存为ANSI格式,这个是window系统识别的格式,文件类型保存为.bat格式。

2、配置window定时执行计划
打开计算机管理,创建任务计划:

新建操作,这里的脚本即为上面编写的bat文件:

新建触发器,设定任务重复情况,本例设置为每10分钟一次,无限执行。

最后,要在常规界面进行最后的设置,注意,这里使用登录window系统的用户来执行任务,需要输入密码进行确认。以后修改定时任务时,也需要该用户的密码进行验证。

设置完后,即可以看到定时任务情况:

验证:计算机管理里可以看到定时任务执行情况,如下,分别在14点44分和14点54分执行一次,如下:

查看收到邮件情况如下:

到此为止,整个配置流程已经结束。
只要这个流程熟悉后,报表的还会远么,随便改转换,只要查到想要的数据生成到文件里,再通过定时任务发送给指定的邮箱,即可完成每日的报表任务了。

文件 邮件 配置 任务 日志 作业 输出 模块 输入 邮箱 结果 路径 名称 情况 数据 格式 类型 系统 网易 验证 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发的本质简答题 徐汇区企业网络技术服务认真负责 选修3《网络技术应用》 红松网络技术部 抗击疫情所用的网络技术 清理oracle数据库表的数据 网络安全外国黑客 阅读软件开发的英文文章 贺州民宿软件开发 服务器时间不足怎么办 安捷信网络技术公司官网 嵩明正规软件开发价格信息 数据库中查询学生最好成绩 高级数据库系统架构 数据库执行存储过程需要什么权限 网络技术对师生的影响英语 嵌入式软件开发要具备哪些 成都饶璞钏软件开发工作室 企业强化网络安全的意义 汇宝幕墙计算软件开发者 怡海我的世界咋去末日服务器 创建db2管理服务器报错 无锡丰瑞软件开发有限公司 手机可以做打印机服务器吗 青海高性能服务器供应公司 网络安全外网文献 软件开发中的大数据好学吗 网络安全静态地址 苹果软件开发授权 吉安物理服务器一般多少钱
0