shell脚本获取公网ip
本意是通过crontab定时获取公网ip,当ip变动时通过mstmp进行邮件通知,然而长城宽带wanip的公网ip实际上nat过的,外网依然无法访问,v2ex上有相关讨论,所以只能说是想多了,脚本自然也就没用了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#!/bin/bash dir=/var/log/GetWanIP lastlog=lastlog.log lastip=`sed -n 1p $dir/$lastlog 2>/dev/null` #这里有两个获取ip的网址,一个是外网的icanhazip.com #第二个是国内的123cha.com通过正则获取(好像已经挂了 #这两个获取到的ip是不一样的,我当时只是以为是出口ip有变化 #所以还辛辛苦苦的用正侧从123cha.com里提取ip,可笑 nowip=`curl icanhazip.com` nowip=`curl -s www.123cha.com |grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" |head -n 1` if [ "$lastip"x != "$nowip"x ];then #通过字符串增加x结尾,避免当变量为空时if报错 echo $nowip echo $nowip >$dir/$lastlog fi |