0%

linux登陆加微信提醒

QQ群:397745473

linux登陆加微信提醒

准备材料:

​ 企业微信

Linux 用户登陆服务器微信告警

登陆企业微信获取 Agentld、Secret

这种方式是通过发送给单用户,企业微信可以设置组, 可以取组ID直接发送消息给群组中每一个人

1
2
3
4
5
企业微信地址: http://work.weixin.qq.com/
需要记录的信息:
我的企业 --> 企业信息 --> 企业ID

参考: https://i4t.com/2573.html

把脚本加入Linux登陆启动项

1
2
3
4
5
将脚本放置在/etc/profile
这样用户在登陆的时候就会发送(前提是服务器可以访问外网,就是可以ping通百度)

vim /etc/profile
/bin/bash /root/wechat.sh

/root/wechat.sh 的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
#

#使用方法 sh ./send_message.sh "发送内容"
#如 sh ./send_message.sh "测试环境,正在更新"


#保存要发送人员的账号,在通讯录可获取,多个人员之间使用空格分隔,以下为展示数据
user="vsyour"
#企业微信ID:企业微信管理界面-’我的企业‘页面中获取
corpid="wx5xxxxxxxxxxx"
#应用秘钥:在‘自建应用’-‘创建应用’-‘应用管理’中获取
corpsecret="mUxc1QwX5vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
#企业应用ID:在'自建应用'-'创建应用'-'应用管理'中获取
agentld=1

#------------------------以上变量需要自行修改-----------------------------------

#保存信息内容变量
# 网卡名称根据自己实际情况修改
msg='请检查服务器登录用户:\n主机名: '`hostname`'\n主机公网IP: '`ifconfig enp2s0|awk -F '[ :]+' 'NR==2 {print $3}'`'\n登录用户: '`whoami`'\n登录IP: '`who am i |awk -F '[()]' '{print $2}'`'\n登录时间: '`date '+%Y-%m-%d-%H:%M:%S'`''
#msg='请检查服务器登录用户:\n主机名: '`hostname`'\n主机公网IP: '`curl ifconfig.me`'\n登录用户: '`whoami`'\n登录IP: '`who am i |awk -F '[()]' '{print $2}'`'\n登录时间: '`date '+%Y-%m-%d-%H:%M:%S'`''


#curl -s 静默模式,就是不显示错误和进度
A=`curl -s https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid\&corpsecret=$corpsecret`

#解析json格式 并获取access_token值
token=`echo $A | jq -c '.access_token'`
#去除变量值两边的双引号
token=${token#*\"}
token=${token%*\"}
#请求地址
URL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token"


for I in $user;do
#发送的JSON内容
JSON="{\"touser\": \"$I\",\"msgtype\": \"text\",\"agentid\": \"$agentld\",\"text\": {\"content\": \"$msg\"},\"safe\":0 }"
#以POST的方式请求
curl -d "$JSON" "$URL" >/dev/null 2>&1
done

exit 0

QQ群:397745473

欢迎关注我的其它发布渠道