Shell监控公网IP-变化邮件报警

Shell监控公网IP-变化邮件报警

公司用的网线IP,但是有时IP会改变,导致部分业务有问题,我们又不能及时发现,会造成一定的影响。

现在使用shell监控公网的IP,如发生变化,立即邮件报警。

 

企业级-Shell案例2——发送告警邮件

centos邮件报警可以参考这个,默认是mailx

 

脚本

#!/bin/bash
dirfile='/home/ip_change'
new_ip=`curl icanhazip.com`    #获取新公网ip
mail_user=1794@qq.com    #接收收邮件邮箱
mail_subject="IP已经发生变化,及时处理"    #邮件主题
log="/var/log/tool.log"
datetime=`date '+%Y-%m-%d %H:%M:%S'`
#判断文件是否存在
if [ ! -f "$dirfile" ]; then
  touch "$file"
  echo "1.1.1.1" > $dirfile
fi
#判断new_ip是否获取

if [ ! -n "$new_ip" ]; then
    echo "$datetime 公网IP获取失败,检查'curl icanhazip.com' " >> $log
    exit 1
fi
old_ip=`cat $dirfile`     #查看旧ip

# 判断两个IP是否相等 发邮件
if [ "$new_ip" = "$old_ip" ]; then
  echo "$datetime IP正常 - true " >> $log
else
  echo  $new_ip > $dirfile
  echo "IP已经发生变化, 新IP: $new_ip   旧IP: $old_ip  !!! " | mail -s "$mail_subject" "$mail_user"
  echo "$datetime IP已经发生变化 - error 新IP :$new_ip   旧IP: $old_ip" >> $log
fi

posted @   南宫乘风  阅读(394)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示