导语:现在越来越流行微信报警功能了。下面就来看看具体实现吧!

1.先申请一个微信企业号

传送门:http://work.weixin.qq.com/

2.添加用户

2.创建应用

3.创建管理组并添加管理员

接下来准备三个东西:

CorpID 在我的企业一栏中

AgentId

Secret 这2个都在应用中

API调试传送门:http://work.weixin.qq.com/api/devtools/devtool.php

shell脚本的实现

  1 #!/bin/bash
2 # -*- coding: utf-8 -*-
3 ###SCRIPT_NAME:weixin.sh###
4 ###send message from weixin for monitoring###
5 ###leo###
6 ###V1-2017-09-05
7
8 CropID='xxx'
9 Secret='xxx'
10 GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
11 Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F \" '{print $10}')
12 PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
13 function body() {
14 local int AppID=xxx # 企业号中的应用id
15 local UserID=$1 # 部门成员id,zabbix中定义的微信接收者
16 #local PartyID=$2 # 部门id,定义了范围,组内成员都可接收到消息
17 local Msg="hello" # 过滤出zabbix中传递的第三个参数
18 printf '{\n'
19 printf '\t"touser": "'$UserID'",\n'
20 #printf '\t"toparty": "$PartyID",\n'
21 printf '\t"msgtype": "text",\n'
22 printf '\t"agentid": "'$AppID'",\n'
23 printf '\t"text": {\n'
24 printf '\t\t"content": "'$Msg'"\n'
25 printf '\t},\n'
26 printf '\t"safe":"0"\n'
27 printf '}\n'
28 }
29 #body $1
30 curl --data-ascii "$(body $1)" $PURL
31 printf '\n'
32 echo "over!"

cli 测试

sh weixin.sh mei
{
"touser": "mei",
"msgtype": "text",
"agentid": "xxx",
"text": {
"content": "hello"
},
"safe":""
} over!

手机上

OK!到此,通过微信企业号发送报警就成功实现了!

其他相关:

错误码查询页:https://work.weixin.qq.com/api/doc/#10649

发送消息帮助页:https://work.weixin.qq.com/api/doc/#10167

shell脚本之微信报警功能的实现的更多相关文章

  1. Android随笔之——用shell脚本模拟用户按键、触摸操作

    之前写过两篇关于Android中模拟用户操作的博客(其实用一篇是转载的),现在就来讲讲用shell脚本来模拟用户按键操作.本次的目标是用shell脚本打开微信并在其搜索框中搜索相关内容. 本文的模拟功 ...

  2. UDP端口检查告警SHELL脚本(企业微信版机器人版)

    脚本准备 0Batch_Check.sh 1port_check.sh 2wechat_bot_alert.sh CheckList CheckList #支持大/小写 10.1.1.5 Udp 53 ...

  3. 安装完Ubuntu后通过shell脚本一键安装软件

    安装完Ubuntu后通过shell脚本一键安装软件 以下代码中#是单行注释 :<<! ! 是多行注释. 运行的时候需要把多行注释去掉. 比如把以下代码保存为install.sh, 那么在终 ...

  4. 【shell脚本】shell脚本实现的 函数差集查找

    文本地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. 问题背景 2. 代码实现 1.问题背景 在做公司的测试的自动化测试时,覆盖了一些开发代码的函数,但是那些还没有做,使用一个函 ...

  5. 如何快速学好Shell脚本? 转

    如何快速学好Shell脚本?   目录 写作思路 知识体系 Shell 语言作为类 Unix 系统的原生脚本,有着非常实用的价值.但对于很多刚刚接触 Shell 脚本的同学来说,搞懂 Shell 语言 ...

  6. Shell脚本 | 截取包名

    之前写 shell 脚本的几篇文章都是先大致介绍脚本的功能和写法,然后一股脑的给出完整的代码.并没有细致入微的解释脚本中的每一行是如何思考如何编写的. 今天反其道而行之,只介绍一行代码.争取能讲的清楚 ...

  7. Shell脚本应用(for、while循环语句和case分支语句)

    1.for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔 语法: for  变量值  in  取值列表 do 命令序列 done 2.while:重复测试某个条件,成立则执 ...

  8. 如何快速学好Shell脚本?

    Shell 语言作为类 Unix 系统的原生脚本,有着非常实用的价值.但对于很多刚刚接触 Shell 脚本的同学来说,搞懂 Shell 语言的语法却是一件非常困难的事情.甚至有人吐槽,或许没有谁能清楚 ...

  9. Shell脚本 | 性能测试之启动流量

    安卓应用的流量统计有多种方式,点击「阅读原文」可以看到一篇别人写的文章,关于安卓流量数据的获取,写的挺全的,列举了几种不同方式的优劣.(见文末参考链接) 今天我要分享的是通过脚本一键获取应用的启动流量 ...

随机推荐

  1. 【博弈论】【SG函数】hdu1848 Fibonacci again and again

    某个状态的SG函数被定义为 除该状态能一步转移到的状态的SG值以外的最小非负整数. 有如下性质:从SG值为x的状态出发,可以转移到SG值为0,1,...,x-1的状态. 不论SG值增加与否,我们都可以 ...

  2. Java高级架构师(一)第20节:X-gen生成需要的Action

    package cn.javass.themes.smvcsm.actions; import cn.javass.xgen.genconf.vo.ModuleConfModel; import cn ...

  3. Java杂谈5——关键字final与volatile

    Final关键字 在Java语言中,随着语境的不同final关键字所代表的语义会有一些细微的差异.总的来说,final关键字表达的含义是“禁止修改”,这层有点类似于C++中的const关键字.之所以要 ...

  4. HDU 3389 Game(博弈)

    Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. JAVA call graphs JAVA调用图

    https://github.com/gousiosg/java-callgraph Programs for producing static and dynamic (runtime) call ...

  6. Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit

    当前的环境是:在Win7笔记本主机上安装VirtualBox+Ubuntu12_04,串口使用USB转串口 如果使用的虚拟机是VirtualBox: 如果使用的虚拟机是Vmware: 执行这步后,主机 ...

  7. solr File Upload "Unsupported ContentType: application/vnd.ms-excel Not in: [application/xml, application/csv, application/json, text/json, text/csv, text/xml, application/javabin]",

    今天在用solr管理界面导入文件时报错:"Unsupported ContentType: application/vnd.ms-excel  Not in: [application/xm ...

  8. Solr6.6 配置中文分词库mmseg4j

    1.准备 首先安装solr:参照搜索引擎Solr-6.6.0搭建,如果版本高于6,可能会不支持,需要改mmseg4j包 mmseg4j包下载: mmseg4j-solr-2.3.0-with-mmse ...

  9. Git与GitLab

    Git与GitLab 一.Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个 ...

  10. 基于Spring开发的DUBBO服务接口测试

    基于Spring开发的DUBBO服务接口测试 知识共享主要内容: 1. Dubbo相关概念和架构,以及dubbo服务程序开发步骤. 2. 基于Spring开发框架的dubbo服务接口测试相关配置. 3 ...