Shell脚本一键实现客户端登录服务器钉钉报警

本文介绍了一款用于SSH登录的Shell脚本,该脚本可在用户登录服务器时自动发送报警信息到钉钉,包括登录时间、用户名、IP地址、用户数及归属地等关键信息。

                     Shell脚本一键实现客户端登录服务器钉钉报警

vim  /etc/ssh/sshrc
#!/bin/bash
#获取登录者的用户名
user=$USER

#获取登录者的IP地址
IP=${SSH_CLIENT%%  *}

#获取登录的时间
time=$(date  +%F%t%k:%M)

#获取服务器的IP地址
server='1.9.1.5'

#统计当前登录用户数
users=`who  |  awk  '{print  $1}'  |  wc  -l`

#获取客户端登录IP的归属地
#location=`curl -s --user-agent foobar https://ip.cn/index.php?ip=$IP | grep '所在地理位置' | awk -F '>' '{print $4,$8}' | awk  '{ print $2 }'`
location=`curl -s --user-agent foobar  http://ip.ws.126.net/ipquery?ip=$IP| iconv -f GBK -t utf-8 | head  -1  | awk  -F "\""  '{print $4 }'`

function  SendMessageToDingding(){

#填写你创建的钉钉机器人的地址
local  url="https://oapi.dingtalk.com/robot/send?access_token=e4ty8sklyiqw87a61e9fb9a9d7533fe53e72fd00552798dfa7893bghjh5897435"

local  UA="Mozilla/5.0(WindowsNT6.2;WOW64)AppleWebKit/535.24(KHTML,likeGecko)Chrome/19.0.1055.1Safari/535.24"

local  res=`curl  -XPOST  -s  -L  -H"Content-Type:application/json"  -H"charset:utf-8"  $url  -d"{\"msgtype\":\"text\",\"text\":{\"content\":\"$1\n$2\"}}"`

}
SendMessageToDingding  "服务器登录告警"  "时间:$time;\n用户:$user;\n用户地址:$IP;\n当前服务器登录用户数:$users;\n服务器地址:$server;\n用户归属
地:$location."

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值