查询外网IP并发送邮件的脚本

21 June 2010

泡论坛时发现的小问题,自己做了下,记录如下:

问题:如何查询服务器的外网IP并发送到指定邮箱?

解决办法:

  1 #!/bin/sh
  2 
  3 
  4 ip=`curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: /([0-    9/.]*/).*//1/g'`
  5 echo "Sending ip $ip..."
  6 
  7 to="yourmail@yourdomain.com"
  8 subject="IP"
  9 message="IP is $ip"
 10 headers="From:server@serverdomain"
 11 echo $message | mail -s $subject $to -- -f $headers
 12 echo "Send OK!"

 

大概思路:

首先通过查询  http://checkip.dyndns.org获取外网IP,得到一个HTML页,sed过滤道多余的HTML标签,获得准确的IP

然后通过sendmail发送邮件到指定邮箱

需要安装curl和sendmail

 

sudo apt-get install curl
sudo apt-get install sendmail

sendmail的配置比较复杂,不过可以使用默认的配置也能够发送邮件。



blog comments powered by Disqus