Linux下判断公网IP是否改变,并发送邮件通知
2012-10-27 12:40
1881 查看
考虑到大家都是在自己家里架设服务器,IP是动态的,随时可能改变。为保证IP改变的时候能及时更新域名指向地址,在服务器上挂一个脚本判断IP是否已经改变,并主动发送邮件通知——这显得非常重要。
实现方法有两种:Linux和Windows,我闲到蛋疼,两个脚本都写好了,放上来跟大家分享一下。
Linux下实现的方法很简单,就是写一个bash脚本,并设置定时运行。需要用到的几个工具是:
1. 安装Lynx浏览器: sudo apt-get install lynx
2. 安装sSMTP邮件服务器(如果已经安装好别的邮件服务器,一样可行,记得修改我的发送邮件部分的代码就可以了)
3. 使用crontab实现“计划任务”
具体操作:
1. 先创建一个名为“myIP”的空白文件,或者随便写点什么
2. 创建bash脚本,代码如下:(更新提示:以下代码运行正常,但在配合crontab使用时,建议把各个文件的完整路径写上,如\home\user\myIP等等)
#!/bin/bash
export LastIP=`cat myIP`
export WanIP=`echo "$(lynx -dump checkip.dyndns.org)" | awk '{ print $4 }'`
if [ $LastIP != $WanIP ]
then
echo $WanIP > myIP
echo "WAN IP changed, send out alerts..."
下面一行代码是发送邮件给我自己,请根据自己情况修改
/usr/sbin/ssmtp abc123@gmail.com < myIP
else
echo "You're good."
fi
保存后记得修改文件属性,确保为“可执行”
以上代码测试可行,我使用Gmail收发邮件都很正常。
有关sSMTP的安装和配置,请参见(很容易的):http://www.havetheknowhow.com/Configure-the-server/Install-ssmtp.html
实现方法有两种:Linux和Windows,我闲到蛋疼,两个脚本都写好了,放上来跟大家分享一下。
Linux下实现的方法很简单,就是写一个bash脚本,并设置定时运行。需要用到的几个工具是:
1. 安装Lynx浏览器: sudo apt-get install lynx
2. 安装sSMTP邮件服务器(如果已经安装好别的邮件服务器,一样可行,记得修改我的发送邮件部分的代码就可以了)
3. 使用crontab实现“计划任务”
具体操作:
1. 先创建一个名为“myIP”的空白文件,或者随便写点什么
2. 创建bash脚本,代码如下:(更新提示:以下代码运行正常,但在配合crontab使用时,建议把各个文件的完整路径写上,如\home\user\myIP等等)
#!/bin/bash
export LastIP=`cat myIP`
export WanIP=`echo "$(lynx -dump checkip.dyndns.org)" | awk '{ print $4 }'`
if [ $LastIP != $WanIP ]
then
echo $WanIP > myIP
echo "WAN IP changed, send out alerts..."
下面一行代码是发送邮件给我自己,请根据自己情况修改
/usr/sbin/ssmtp abc123@gmail.com < myIP
else
echo "You're good."
fi
保存后记得修改文件属性,确保为“可执行”
以上代码测试可行,我使用Gmail收发邮件都很正常。
有关sSMTP的安装和配置,请参见(很容易的):http://www.havetheknowhow.com/Configure-the-server/Install-ssmtp.html
相关文章推荐
- Windows下判断公网IP是否改变,并发送邮件通知
- linux实战(七)----发送邮件通知----实例运用
- Linux 上使用 Gmail SMTP 服务器发送邮件通知
- Python3判断shell下进程是否存在&&启动&&邮件通知
- java判断邮件是否发送成功
- Linux下如何查看自己的公网IP并通过邮件发送
- java中发送短信和邮件网络是否连通的判断
- python3 自动获取公网ip并发送邮件通知
- Linux 上使用 Gmail SMTP 服务器发送邮件通知
- web项目如何知道给别人发送的邮箱,判断用户是否读了邮件
- java mail 发送邮件,并判断是否发送成功
- Linux学习-->如何通过Shell脚本实现发送邮件通知功能?
- linux 编写监测脚本,如果停掉自动执行重启操作,并且发送邮件通知
- Linux下父进程通过管道发送文件名给子进程,子进程获取文件名后首先判断文件是否存在,不存在,通过管道返回错误信息,存在,将文件内容返回给父进程
- linux环境下监听nginx状态页面,判断tomcat是否down机,给管理员发短信和邮件
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)
- Linux 上使用 Gmail SMTP 服务器发送邮件通知
- 如何在 Linux 上使用 Gmail SMTP 服务器发送邮件通知
- 检测环境中是否有core文件并自动发送邮件通知
- 如何在 Linux 上使用 Gmail SMTP 服务器发送邮件通知