我的博客已遷移到xdoujiang.com請去那邊和我交流 一、基礎環境 1、版本 cat /etc/debian_version 7.8 2、內核 uname -r 3.2.0-4-amd64 3、ip(eth0) 10.1.10.185 4、相關配置文件內容 cat .config.ini aaa.aaa.com bbb.bbb.com ccc.ccc.com ddd.ddd.com eee.eee.com fff.fff.com 5、相關郵件腳本 mailsend.py見http://7938217.blog.51cto.com/7928217/1708228 二、具體代碼 1、cat checkcdn.sh #!/bin/bash #-------------------------------------------------- #Author:jimmygong #Email:[email protected] #FileName:checkcdn.sh #Function: #Version:1.0 #Created:2015-11-06 #-------------------------------------------------- sendip="10.1.10.185" maillog="/root/aa" mailpy="/root/mailsend.py" #PS:dig && curl need install [[ -e .config.ini ]] || exit 1 function checkcdn () { domain=$1 cdnchinache="https://portal.chinacache.com/serviceInfo/getChannelServiceInfo.do?username=111111&password=222222&channelName=http://$domain" cdnfastcdn="http://push.dnion.com/currentIp.do?username=111111&password=222222&domain=$domain" while read dname do num=$(dig ${dname}|grep ${dname}|grep -i "cname"|wc -l) [[ $num == 1 ]] && cdnname=$(dig ${dname}|grep ${dname}|grep -i "cname"|awk '{print $5}'|cut -d. -f3) [[ $num == 2 ]] && cdnname=$(dig ${dname}|grep ${dname}|grep -i "cname"|head -1|awk '{print $5}'|cut -d. -f4) if [[ $domain == $dname ]] then if [[ $cdnname == 'ccgslb' ]] then echo $cdnchinache elif [[ $cdnname == 'fastcdn' ]] then echo $cdnfastcdn fi fi done < .config.ini } function action () { num=$(cat .config.ini|wc -l) for ((k=1;k<=${num};k++)) do domainname=$(cat .config.ini|sed -n "$k"p) for i in $domainname do cdnname=$(checkcdn $i) ips=`curl -s $cdnname` ipexclude="111.111.111.111 222.222.222.222.333.333.333.333" for ip in $ips do if [[ "$ipexclude" =~ "$ip" ]] then continue fi location=`curl -s www.cip.cc/$ip|awk /數據/|awk -F " " '{print $3,$5}'` echo $ip $location done done done> $maillog } function handlemail () { sed -i -e '1i\IP\t地址\t運營商' $maillog sed -i -e 's/^/<tr><td>/' -e 's/\s\+/<\/td><td>/' -e 's/\s\+/<\/td><td>/' -e 's/$/<\/td><\/tr>/' $maillog sed -i -e '1i\<table>' -e '$a\</table>' $maillog sed -i -e '1i\<style type="text\/css">table,td,th{border:1px solid black;}<\/style>' $maillog python $mailpy $maillog "$0 $sendip" } action handlemail exit 0
三、效果