第三章 Linux系统下IP变更发送邮件

本文详细描述了如何在Linux系统中编写一个脚本,监控WLAN0接口的IP地址变化,当IP发生变化时,通过邮件通知管理员。涉及的步骤包括脚本编写、邮件配置和Crontab定时任务设置。
摘要由CSDN通过智能技术生成

第三章 Linux系统下IP变更发送邮件

3.1 脚本编写与配置

3.1.1 脚本编写

vi /usr/local/IpChangeSendEmail.sh

脚本内容

#!/bin/bash
cd /usr/local

touch ip.txt
touch sentEmailIpChange.log
touch newip.txt
ip a show dev wlan0 | grep -w inet| awk '{print $2}'| awk -F '/' '{print $1}' > newip.txt
IPADDRESS=$(cat newip.txt)
OLDIP=$(cat ip.txt)
echo "$IPADDRESS"
echo "$OLDIP"
if [ "$IPADDRESS" = "$OLDIP" ]
then
echo "$(date -u "+%Y-%m-%d %H:%M" -d "8 hour") not changed"
else
echo "$IPADDRESS" > ip.txt
echo "服务器IP是 $IPADDRESS"| mail -s "服务器IP地址变化" sendemail@163.com
echo "Send email successfully!"
fi

3.1.2 mail配置

vi /etc/mail.rc

末尾添加或修改

set from=zhaohongtao1996@163.com smtp="smtp.163.com"
set smtp-auth-user="youremail@163.com" smtp-auth-password="授权码"
set smtp-auth=login

3.1.3 crontab配置

vi /usr/local/cront_IP.cron

填入如下脚本

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
0 * * * * /usr/local/IpChangeSendEmail.sh >> /usr/local/sentEmailIpChange.log 2>&1

第四行0 * * * * /usr/local/IpChangeSendEmail.sh >> /usr/local/sentEmailIpChange.log 2>&1
0为第0分钟 第一个*是小时 第二个是日 第三个是月 第四个年 ,实现效果是每小时的第0分钟执行一次脚本并把log转写入sentEmailIpChange.log中。
测试中可以将第四行修改成

0 * * * * * /usr/local/IpChangeSendEmail.sh >> /usr/local/sentEmailIpChange.log 2>&1

实际上是每分钟的0秒执行一次,方便调试
实验结果
邮箱发送IP改变的实验结果

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值