如何使用Shell实现花生壳动态域名解析(DDNS)?

Bash

笔者家里有一台linux服务器,需要通过花生壳的DDNS定位其IP地址访问。故创建脚本如下,以解决最近出现的路由嵌入式设备不能DNS解析的问题,如果你跟我有同样的需求,欢迎参阅本教程:

1 yum包的安装

yum -y install curl

2 建立存放脚本文件夹

mkdir ~/scripts

3 创建域名解析脚本

vim ~/scripts/pusoray.sh

加入如下内容:

#!/bin/bash
domain="example.cmdschool.org"
user="example"
pwd="pwd1"
ipLog="/var/log/ip.log"

nowIP=`curl -s ifconfig.co`

if [ `echo $nowIP | tr -cd . | wc -c` != "3" ]; then
        exit 1
fi

if [ `whereis nslookup | grep 'bin/nslookup' | wc -l` = "0" ]; then
        echo 'Please install nslookup first!'
        exit
fi

if [ `nslookup $domain | grep "$nowIP" | wc -l` = "1" ]; then
        echo "DNS don't need to updated, program exits!"
        exit
fi

/usr/bin/curl "http://$user:$pwd@ddns.oray.com/ph/update?hostname=$domain"
echo `date +"%Y-%m-%d %H:%M:%S"`" $nowIP" >> $ipLog

注意需要更改的参数:

1)domain - 你向花生壳申请的域名
2)user - 登录花生壳的账号
3)pwd - 登录花生壳的密码

4 添加计划任务

crontab -e

加入如下内容(以下每5分钟执行一次):

*/5 * * * * sh ~/script/pusoray.sh

检查:

crontab -l

参考文献:
==========================================
http://open.oray.com/wiki/doku.php?id=%E6%96%87%E6%A1%A3:%E8%8A%B1%E7%94%9F%E5%A3%B3:http%E5%8D%8F%E8%AE%AE%E8%AF%B4%E6%98%8E

没有评论

发表评论

Bash
如何自动重启Tomcat异常的服务?

1 前言 一个问题,一篇文章,一出故事。 笔者几天前发现Tomcat会因为一个错误而停止服务,虽然进 …

Bash
如何自动挂载目录?

1 前言 一个问题,一篇文章,一出故事。 笔者需要写一个脚本定时挂载目录,但是AutoFS测试过骨兼 …

Bash
如何熟悉shell if?

1 基础知识 1.1 命令使用格式 1.2.1 获取命令帮助 man if 1.2.2 基本判断用法 …