NiceLeeのBlog 用爱发电 bilibili~

备忘录 VPS登录推送

2024-11-30
nIceLee

阅读:


目的是当VPS在SSH登录时,通过curl推送信息。

前言

具体实现参考vps-登录推送。脚本依赖于curljq

如果想用微信通知,可以参考通过微信公众测试号推送消息,通过多个http请求来达到目的。

有机会的话,可以使用cat命令来替代echo多行输出,举例如下:

cat <<EOFFFFFF > tg.sh
localip=\$(curl -s ip.sb -4)
user=\$(whoami)
logintime=\$(TZ=UTC-8 date "+%Y-%m-%d %H:%M:%S")
loginip=${localip}
loginfrom=\$(curl -s https://api.ip.sb/geoip/${loginip} | jq -r .asn_organization)
...
EOFFFFFF

另外,bash tg.sh &一行需要完善,不然总会有一行输出,不太雅观。
建议改成(bash tg.sh > /dev/null 2>&1 &)

备忘录

防止源站失联,在这里贴下脚本

#!/bin/bash

# /etc/profile.d/login-alarm.sh
#填入 bot 的 token
token=
#填自己的id
id=

localip=$(who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g')

echo 'localip=$(curl -s ip.sb -4)' > tg.sh
echo 'user=$(whoami)' >> tg.sh
echo 'logintime=$(TZ=UTC-8 date "+%Y-%m-%d %H:%M:%S")' >> tg.sh
echo 'loginip='${localip} >> tg.sh
echo 'loginfrom=$(curl -s https://api.ip.sb/geoip/${loginip} | jq -r .asn_organization)' >> tg.sh
## 下面这里需要自己实现
echo 'curl -s "https://api.xxx.org/bot'${token}'/sendMessage?chat_id='${id}'" --data-binary "&text=NewLogin:%0AVPS:${user}@${localip}%0ATime: ${logintime}%0ALogin from:%0A${loginip}%0A${loginfrom}" > /dev/null && rm tg.sh' >> tg.sh

(bash tg.sh > /dev/null 2>&1 &)

相似文章

内容
隐藏