需求是需要一个系统每天定时发送 excel 数据到邮箱,excel 数据来源直接写 sql。我特么一个干运维的。 妈蛋,准备跑路了。
1
hand515 2018-06-27 09:21:27 +08:00
csv 格式了解下
|
2
yifanes 2018-06-27 09:38:58 +08:00 via Android
crontab sql csv 自己写,不会百度这几个关键词
|
3
liyer 2018-06-27 09:40:26 +08:00
kettle 了解一下?
|
4
Mbin 2018-06-27 09:41:31 +08:00 via iPhone
类似模块一大堆。楼主不用跑路,很容易的
|
5
janus77 2018-06-27 09:43:22 +08:00 via Android
这不就是拉报表么,只是过程自动化了一下
|
6
weifuqiao1989 2018-06-27 09:48:20 +08:00
kettle 可实现
|
7
xhyzidane 2018-06-27 09:48:30 +08:00 1
非常基础的需求了
|
9
CoCoMcRee 2018-06-27 09:50:43 +08:00
你需要 Python
|
10
ccl945 OP @weifuqiao1989 上百个这种东西,用 kettle 我得画上百个 job,还要找个调度平台调度 kettle job
|
11
fds 2018-06-27 11:08:05 +08:00
用 python 的话就是先拿取任务,验证下 sql 合法性,到数据库执行一下,结果找个 xlsx 库包装成 excel,然后连个邮件服务器发送即可。
|
12
Senorsen 2018-06-27 11:08:49 +08:00 via Android
metabase 了解一下,就是干这事儿的。
|
13
rizon 2018-06-27 11:11:24 +08:00
我有这个程序,自己开发的。
1.目前支持 sql 执行后生成 excel 发邮件。 2.但是可以扩展支持其他脚本的执行。 3. 程序支持动态处理 sql (文本替换处理) 例如:你的一个 sql 是查询当前日期的前一天的数据,那么程序可以通过配置脚本来实现自动替换 sql 文件中的相应的占位符(where 条件) 4.可传参数,批量执行 sql 5.所有 sql 和邮件等均是页面配置 6.支持多数据源 7.一个超简单的账户权限分配管理 |
14
Senorsen 2018-06-27 11:13:36 +08:00 via Android
补充一下,metabase 是可以放一些不同的 SQL (称作“ question ”),自动拉取结果,绘制表格、统计图,可以分别配置发送邮件。
|
15
rizon 2018-06-27 11:29:09 +08:00
这个我目前还没完全开发完,当初是针对公司的一个变态报表业务开发,虽然是完全自主开发的(自己对的需求,自己提出的解决方案以及自己开发的),但是这种情况不知道到底能不能拿出来开源啊(在公司做出来的东西理论上都是只有署名权啊),
希望有大佬来指点一下,这个程序的当前版本已经支撑了目前的公司业务场景,但是我想在 github 上开源,继续去维护和开发新的功能,不知道这样做可以吗????? 公司的报表业务之前是由运营人员来维护的一堆 sql,但是这堆 sql 包含着复杂的日期逻辑,比如获取今年每个月的数据汇总,获取上周和上上周的数据对比,除了日期还有其他参数的一些业务逻辑。 所以开发了这个程序, 该程序主要解决的痛点就是 sql 不是固定的,而是因为参数不同而产生变化 |
16
rizon 2018-06-27 11:50:00 +08:00
![5b3305eb1bb2b.jpg]( https://i.loli.net/2018/06/27/5b3305eb1bb2b.jpg)
![5b3305e425761.jpg]( https://i.loli.net/2018/06/27/5b3305e425761.jpg) ![5b33069a5926d.png]( https://i.loli.net/2018/06/27/5b33069a5926d.png) ![5b3306ebd83cd.png]( https://i.loli.net/2018/06/27/5b3306ebd83cd.png) 概念上,scriptbot 分为三个模块,脚本,脚本组,任务。 1. 脚本模块 配置 sql 等可执行脚本,每个脚本隶属于一个脚本组,每个脚本生成一个 sheet。 2. 脚本组模块 配置每个脚本组的收件人,每个脚本组生成一个 excel,一个邮件可以发送多个脚本组 3. 任务模块,则是批量执行脚本组 程序支持通过动态配置 js 脚本(虽然采用 js 脚本是一种不是非常合适的方案吧)来对任务进行一些处理,借助 js 脚本可以实现很多东西。比如有两个事业部们要接收报表数据,但是他们使用的 sql 其实是完全一样的只是部门过滤条件不一样,那么就只需要配置一个 sql 脚本,两个事业部的脚本组可以复用同一个 sql 脚本,通过脚本组中的 js 脚本来动态替换事业部。 程序现在还没做完,很多功能还只停留在“又不是不能用”的阶段,等有时间的话决定填坑做完。 |
17
liprais 2018-06-27 11:52:24 +08:00
写两个脚本
第一个把要发的数据放到表里 第二个把这个表做成一个表格发出去 搞定收工 |
18
oisc 2018-06-27 11:57:02 +08:00
|
20
SbloodyS 2018-06-27 12:14:47 +08:00
这不就是个定时邮件推送的 BI 需求么。。。
|
21
anotherlf 2018-06-27 12:51:03 +08:00 via Android
用 PHP 写一个啊,简单 excel 的话,用那个 xlsxwriter 库,然后用 mail 发出去。
|
23
odirus 2018-06-27 14:41:44 +08:00
。。。我要求我们的运维这么做,他不会有想法吧。
|
25
xiaogui 2018-06-27 14:46:33 +08:00
java 语言的话,EasyPoi 了解下
|
27
c6h6benzene 2018-06-27 15:04:15 +08:00 via iPhone
Excel 可以直接从数据库拉数据的来着。
|
28
957204459 2018-06-27 15:05:14 +08:00 via iPhone
so easy,我也是运维自己写了个和你同样的需求
|
29
Sherlocker 2018-06-27 17:13:49 +08:00
这不是运维的基本技能嘛
|
30
mingyun 2018-06-27 17:33:44 +08:00
写代码了,邮件定时发送
|
31
torment5524 2018-06-27 17:44:04 +08:00
写过一个自用的,java 做的,操作系统计划任务定时调用 poi 做 excel 操作,javamail 登陆邮箱发邮件,jdbc 连接数据库
|
32
kslr 2018-06-27 17:49:41 +08:00
那为什么不发两份呢,一份 excel 一份 sql 简单不就解决了
|
33
night98 2018-06-27 19:01:30 +08:00
poi 了解一下,写个这个应该一周就搞得差不多了吧。
|
34
wayne1027 2018-06-27 19:13:20 +08:00
art 开源轻量级在线报表平台,可定时执行 job
http://art.sourceforge.net/ |
35
Tink 2018-06-27 20:46:30 +08:00 via iPhone
这很难?
|