查询外网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