Linux Crontab 结合 企微群聊机器人 发送定时推送消息通知

我所在的组每周五都需要发送一条填写周报的通知,经常因为琐事烦恼就忘记了,一直想着搞写一个模块挂在服务器上,定时发一个HTTP请求给企微自带的群聊机器人,这样就实现了一个最简单的“自动化办公”。

一开始是想通过写个模块来实现,还可以对接公司的项目管理的数据库,查一些数据分析,后面扩展性很高。但一直没实现的原因还是懒,懒得另外起一个项目,甚至是接入一堆臃肿的组件。

今天重新思考下,其实目前我的通知内容并不需要查询到数据库,需要自动化查询当前的8月份,以及附带excel的url(每个月的url都会变,方便组员点击后直接到对应的月份)。 然后又想起来Linux下其实有自带的定时任务插件——Crontab。

那么思路一下来了:

1.将消息通知内容通过shell脚本写成一个Linux下可执行的HTTP请求。

#!/bin/bash
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=群聊机器人的key' \
   -H 'Content-Type: application/json' \
   -d '
   {
    "msgtype": "text",
    "text": {
             "content": "请大家更新周进度。\n 1.请....",
             "mentioned_list":["userid1","userid2","userid3","@all"]
            }
    }' 

2.将shell脚本添加到crontab的任务列表里面,并配置需要的cron表达式。

#每周五下午16:30分执行一次通知脚本
30 16  * * 5 cd / && ./week_report_notify.sh

这样子只要当前服务器可以连通外网,将请求发送到企微的服务器,那么我们就完成一个最简单的OA办公自动化脚本,提供我们的生产效率啦~

实际上week_report_notify.sh可以玩的花样很多,我在实际使用中还添加几个变量,用以获取当前的月份;在需要连接数据库时,也可以通过访问我们自己后台接口。

“curl http://ip:port/requestName >> response.log” 将返回的内容作为参数,添加到我们的请求中,这样子可以做的事情多很多了。

禅定时刻,这个事情反思一下,: 事情要先思考本质,要警惕程序员的技术性思维,如果按照最开始的自动化模块的想法,可能这个事情会一直搁置下去,但换个简单的方式,几分钟就搞定了~

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值