获取外网IP比较差异后发邮件

自己申请了独立的公网IP,但是由于是家用IP经常会变,于是就有了想写一个脚本,每天定时去get下IP是否有变化,有差异则给自己的邮箱发封邮件,这样完全不用担心想突然登录服务器查资料却不知道IP地址的尴尬。

获取IP

使用curl去访问一个查询本地IP的就可以了
ifconfig.me
http://members.3322.org/dyndns/getip
这2个都可以,但第一个访问多了会被屏蔽。。。

发送邮件

在/etc/mail.rc文件中添加下面几项就OK(我用的163发送,qq接收):
set from=xxx@163.com (你的163邮箱)
set smtp=smtp.163.com (163邮箱默认就用这个)
set smtp-auth-user=xxx@163.com (第一行)
set smtp-auth-password=xxxxxxxx (进163邮箱自己设置的,位置在下图所示)
在这里插入图片描述

定时器里面设置定时任务

编辑 /etc/crontab,下图所示,我定在每天9点半,下午2点半执行一次脚本
在这里插入图片描述

最后附上脚本

#!/bin/sh

filename="/work/check_ip/ip"

function getIP
{
	#curl ifconfig.me>>ip
	curl http://members.3322.org/dyndns/getip>>$filename

}

function sendMail
{
	echo "send conent: $1"
	echo "$1" | mail -s "changed!" xxxxxxx@qq.com
}


function check
{
	count=`awk 'END {print NR}' $filename`

	if [ $count -ge 2 ] 
	then
		line1=`tail -n 2 $filename|awk 'NR==1 {print}'`
		line2=`tail -n 2 $filename|awk 'NR==2 {print}'`

		if [ "$line1" != "$line2" ]
		then
			sendMail "$line2"
		fi
	fi
}

getIP
check
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值