准备
oldip.txt创建2份空文件,分别取名oldip.txt和pbip.txt。
解释
oldip.txt的作用主要是存放现有的ip信息,pbip.txt是变化后的ip信息,pbip.txt变化后的信息会同步到oldip.txt中,当两者一致,则不触发动作,两者不一致将会触发 邮件行为。
代码
创建一个shell文件,存放下述代码。并添加x
权限(chmod +x)。
#!/bin/bash
oldip=`cat ~/oldip.txt`
pbip=`curl -s ifconfig.me`
echo $pbip > ~/pbip.txt
comp1=`awk -F. '{print $1,$2,$3,$4}' ~/oldip.txt | sed -e 's/[[:space:]]//g' `
comp2=`awk -F. '{print $1,$2,$3,$4}' ~/pbip.txt | sed -e 's/[[:space:]]//g' `
if [[ $comp1 -ne $comp2 ]];then
echo $pbip > ~/oldip.txt
sleep 1;
`cat ~/oldip.txt | mail -v -s "Mail title:public IP" xuby@xxxx.com.cn`
fi
# 编写者:xuby
定时执行脚本
crontab -e -u root
* * * * * /pathtoBash
crontab格式
* * * * * [user] [command]
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 7) (Sunday=0 or 7)
| | | +---------- 月份 (1 - 12)
| | +--------------- 几号 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)