前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Linux Crontab结合 企业微信的群聊机器人 定时发送消息通知

使用Linux Crontab结合 企业微信的群聊机器人 定时发送消息通知

原创
作者头像
Somnus
发布2023-02-12 22:47:40
1.5K0
发布2023-02-12 22:47:40
举报
文章被收录于专栏:Somnus的编程随想

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

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

bg
bg

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

那么思路一下来了:

  1. 将消息通知内容通过shell脚本写成一个Linux下可执行的HTTP请求。
代码语言:shell
复制
#!/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表达式。

代码语言:shell
复制
#每周五下午16:30分执行一次通知脚本
30 16  * * 5 cd / && ./week_report_notify.sh

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

测试截图
测试截图

实际上week_report_notify.sh可以玩的花样很多,我在实际使用中还添加几个变量,用以获取当前的月份;在需要连接数据库时,也可以通过访问我们自己后台接口,“curl http://ip:port/requestName >> response.log” 将返回的内容作为参数,添加到我们的请求中,这样子可以做的事情多很多了。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档