您好,登錄后才能下訂單哦!
需求:
每次統計到的業務數據或運營數據,整理輸出到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分執行一次,如下:
查看收到郵件情況如下:
到此為止,整個配置流程已經結束。
只要這個流程熟悉后,報表的還會遠么,隨便改轉換,只要查到想要的數據生成到文件里,再通過定時任務發送給指定的郵箱,即可完成每日的報表任務了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。