shell脚本之微信报警功能的实现
导语:现在越来越流行微信报警功能了。下面就来看看具体实现吧!
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脚本之微信报警功能的实现的更多相关文章
- Android随笔之——用shell脚本模拟用户按键、触摸操作
之前写过两篇关于Android中模拟用户操作的博客(其实用一篇是转载的),现在就来讲讲用shell脚本来模拟用户按键操作.本次的目标是用shell脚本打开微信并在其搜索框中搜索相关内容. 本文的模拟功 ...
- UDP端口检查告警SHELL脚本(企业微信版机器人版)
脚本准备 0Batch_Check.sh 1port_check.sh 2wechat_bot_alert.sh CheckList CheckList #支持大/小写 10.1.1.5 Udp 53 ...
- 安装完Ubuntu后通过shell脚本一键安装软件
安装完Ubuntu后通过shell脚本一键安装软件 以下代码中#是单行注释 :<<! ! 是多行注释. 运行的时候需要把多行注释去掉. 比如把以下代码保存为install.sh, 那么在终 ...
- 【shell脚本】shell脚本实现的 函数差集查找
文本地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. 问题背景 2. 代码实现 1.问题背景 在做公司的测试的自动化测试时,覆盖了一些开发代码的函数,但是那些还没有做,使用一个函 ...
- 如何快速学好Shell脚本? 转
如何快速学好Shell脚本? 目录 写作思路 知识体系 Shell 语言作为类 Unix 系统的原生脚本,有着非常实用的价值.但对于很多刚刚接触 Shell 脚本的同学来说,搞懂 Shell 语言 ...
- Shell脚本 | 截取包名
之前写 shell 脚本的几篇文章都是先大致介绍脚本的功能和写法,然后一股脑的给出完整的代码.并没有细致入微的解释脚本中的每一行是如何思考如何编写的. 今天反其道而行之,只介绍一行代码.争取能讲的清楚 ...
- Shell脚本应用(for、while循环语句和case分支语句)
1.for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔 语法: for 变量值 in 取值列表 do 命令序列 done 2.while:重复测试某个条件,成立则执 ...
- 如何快速学好Shell脚本?
Shell 语言作为类 Unix 系统的原生脚本,有着非常实用的价值.但对于很多刚刚接触 Shell 脚本的同学来说,搞懂 Shell 语言的语法却是一件非常困难的事情.甚至有人吐槽,或许没有谁能清楚 ...
- Shell脚本 | 性能测试之启动流量
安卓应用的流量统计有多种方式,点击「阅读原文」可以看到一篇别人写的文章,关于安卓流量数据的获取,写的挺全的,列举了几种不同方式的优劣.(见文末参考链接) 今天我要分享的是通过脚本一键获取应用的启动流量 ...
随机推荐
- 【神奇の做法】bzoj2456 mode
题解:http://www.tuicool.com/articles/BfQBzif #include<cstdio> using namespace std; int n,x,ans,t ...
- 【动态规划】【二分】【最长不下降子序列】洛谷 P1020 导弹拦截
最长不下降子序列的nlogn算法 见 http://www.cnblogs.com/mengxm-lincf/archive/2011/07/12/2104745.html 这题是最长不上升子序列,倒 ...
- 【Trie+DP】BZOJ1212-[HNOI2004]L语言
[题目大意]给出字典和文章,求出文章能够被理解的最长前缀. [思路] 1A……!先用文章建立一棵Trie树,然后对于文章进行DP.f[i]表示文章中长度为i的前缀能否被理解,如果f[i]能理解,顺着下 ...
- 分布式缓存DistributedCache的使用
分布式缓存用于将使用的小文件首先分发到各个datanode节点上,然后利用map/reduce阶段的setup()方法将文件内容读入内存,加快程序执行.具体实现方法如下: http://demievi ...
- yum出现的“UnicodeDecodeError: 'ascii' codec”问题解决
新装了CentOS 6.5系统,打算使用yum安装程序是出现了如下错误: Loading mirror speeds from cached hostfile Traceback (most rece ...
- TOleDBMSSQLConnectionProperties驱动MSSQL数据库
TOleDBMSSQLConnectionProperties驱动MSSQL数据库 为了让MORMOT可以驱动所有版本的MSSQL,需要改用SQLOLEDB,因为所有的WINDOWS操作系统里面都提供 ...
- java.sql.SQLException: Io 异常: Got minus one from a read call
博客分类: Oracle Tomcat服务器下的应用连接Oracle时报错,出现以下异常: java.sql.SQLException: Io 异常: Got minus one from a r ...
- RMAN备份恢复 控制文件和归档日志丢失情况
RMAN> backup current controlfile tag='bak_ctlfile' format='/home/oracle/backup/bak_ctl_%U_%T'; al ...
- JVM监测分析JConsole
一.基本操作 启动界面 1.JConsole是什么 从Java 5开始引入了JConsole.JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行.您可以轻松地使 ...
- Node.js meitulu图片批量下载爬虫1.01版
在 http://www.cnblogs.com/xiandedanteng/p/7614051.html 一文我曾经书写过一个图片下载爬虫,但原有程序不是为下载图片而设计故有些绕,于是稍微改写了一下 ...