shell监控用户登陆后微信通知
时间: 2023-07-28 12:15:00 浏览: 210
shell监控系统资源并通过短信报警的脚本
要实现在用户登录后通过微信通知的功能,您需要使用以下步骤:
1. 安装 WeChat Work API Python SDK。
2. 创建企业微信应用,获取应用 ID(agentid)、CorpID、SecretKey。
3. 使用 Python 编写脚本,通过调用 WeChat Work API 实现微信通知功能。可以使用以下代码:
```python
import requests
# 设置企业微信应用参数
CORP_ID = "your_corp_id"
AGENT_ID = "your_agent_id"
SECRET_KEY = "your_secret_key"
# 获取 access_token
def get_access_token():
url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={}&corpsecret={}".format(CORP_ID, SECRET_KEY)
result = requests.get(url).json()
return result["access_token"]
# 发送消息
def send_message(content):
access_token = get_access_token()
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + access_token
data = {
"touser": "@all",
"msgtype": "text",
"agentid": AGENT_ID,
"text": {"content": content},
"safe": 0
}
result = requests.post(url, json=data).json()
return result
# 监控用户登录
def monitor_login(user):
send_message("用户 {} 已登录系统。".format(user))
# 主函数
if __name__ == "__main__":
user = "testuser"
monitor_login(user)
```
4. 将上述代码保存为脚本文件(例如,monitor_login.sh)。
5. 使用 crontab 在用户登录后执行该脚本。例如,您可以在 /etc/profile 中添加以下内容:
```bash
# 在用户登录后执行微信通知脚本
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
/path/to/monitor_login.sh
fi
```
这样,当用户登录系统时,脚本将被执行,并通过企业微信应用向所有用户发送通知消息。
阅读全文