设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 74|回复: 6

关于ddns的脚本求助

[复制链接]

164

主题

1562

回帖

3766

积分

论坛元老

积分
3766
发表于 2020-10-13 21:57:01 | 显示全部楼层 |阅读模式
下面这个是梅林的ddns脚本代码,目前我是每日定时执行一次,一般网络都是在凌晨发生变化
最近突然发现白天也变了,MMP
那么问题来了,如果改成5分钟执行一次,校验IP是否发生改变,改变了才执行更新的话要怎么做?不想暴力无脑更新
找个文档存IP 每更新一次就替换一次??
或者MJJ有造好的轮子分享个
openwrt的也行
谢谢

[ol]
  • #!/bin/sh
  • APIKEY="apikey"
  • DOMAIN="domain"
  • HOST="host"
  • IP=${1}
  • if [ -z "$HOST" ]; then
  •   FULLDOMAIN=$DOMAIN
  • else
  •   FULLDOMAIN=$HOST.$DOMAIN
  • fi
  • # Fetch DNS record ID
  • RESPONSE="$(curl -s "https://www.namesilo.com/api/dnsListRecords?version=1&type=xml&key=$APIKEY&domain=$DOMAIN")"
  • RECORD_ID="$(echo $RESPONSE | sed -n "s/^.*\(.*\).*A$FULLDOMAIN.*$/\1/p")"
  • # Update DNS record in Namesilo
  • RESPONSE="$(curl -s "https://www.namesilo.com/api/dnsUpdateRecord?version=1&type=xml&key=$APIKEY&domain=$DOMAIN&rrid=$RECORD_ID&rrhost=$HOST&rrvalue=$IP&rrttl=7207")"
  • # Check whether the update was successful
  • echo $RESPONSE | grep -E "(280|300)" &>/dev/null
  • if [ $? -eq 0 ]; then
  •   /sbin/ddns_custom_updated 1
  • else
  •   /sbin/ddns_custom_updated 0
  • fi[/ol]复制代码
  • 回复

    使用道具 举报

    7

    主题

    151

    回帖

    365

    积分

    中级会员

    积分
    365
    发表于 2020-10-13 21:59:53 | 显示全部楼层
    5分钟一次不用改这个,改crontab不就行了.
    回复

    使用道具 举报

    49

    主题

    1592

    回帖

    3417

    积分

    论坛元老

    积分
    3417
    发表于 2020-10-13 22:00:08 | 显示全部楼层
    梅林的软件中心不是有DDNS软件?
    回复

    使用道具 举报

    164

    主题

    1562

    回帖

    3766

    积分

    论坛元老

    积分
    3766
     楼主| 发表于 2020-10-13 22:08:26 | 显示全部楼层

    夏生啊 发表于 2020-10-13 21:59

    5分钟一次不用改这个,改crontab不就行了.

    关键是 想IP变了的时候再更新,这里就是每5分钟更一次  无脑更新
    回复

    使用道具 举报

    164

    主题

    1562

    回帖

    3766

    积分

    论坛元老

    积分
    3766
     楼主| 发表于 2020-10-13 21:59:00 | 显示全部楼层

    yanaxiao 发表于 2020-10-13 22:00

    梅林的软件中心不是有DDNS软件?

    有的,不过我域名在namesilo 所以要用自定义脚本
    并且字段更新有问题
    回复

    使用道具 举报

    7

    主题

    151

    回帖

    365

    积分

    中级会员

    积分
    365
    发表于 2020-10-13 22:10:10 | 显示全部楼层

    s07q 发表于 2020-10-13 22:08

    关键是 想IP变了的时候再更新,这里就是每5分钟更一次  无脑更新

    那就写个暂存ip的文件,每次跟上次对比就行了
    回复

    使用道具 举报

    1

    主题

    36

    回帖

    91

    积分

    注册会员

    积分
    91
    发表于 2020-10-13 22:00:00 | 显示全部楼层
    很简单, 保存一个文件记录对应的IP,更新前先检查IP是否变了。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2026-3-31 11:25 , Processed in 0.012942 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表