美文网首页
duckdns 后台维护更新cron脚本

duckdns 后台维护更新cron脚本

作者: 老陕西 | 来源:发表于2025-07-01 13:01 被阅读0次
$ crontab -e
* * * * * /home/YOUR_NAME/duckdns_update.sh
#!/bin/bash
# /home/YOUR_NAME/duckdns_update.sh

# 配置项
DOMAIN="YOUR_DOMAIN_NAME"   # 只填子域名,比如 myhome
TOKEN="YOUR_TOKEN"          # 你的DuckDNS token

# 自动获取脚本所在目录和文件名
SCRIPT_PATH="$(readlink -f "$0")"
SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"
SCRIPT_BASE="$(basename "$SCRIPT_PATH" .sh)"
LOG="${SCRIPT_DIR}/${SCRIPT_BASE}.log"
CACHE="${SCRIPT_DIR}/${SCRIPT_BASE}.cache"

# 获取当前时间戳
now() {
    date "+%Y-%m-%d %H:%M:%S"
}

# 获取当前公网IPv4地址
CURRENT_IP=$(curl -s https://ipv4.icanhazip.com/ | tr -d '\n')

# 获取上次更新的IP
LAST_IP=""
[ -f "$CACHE" ] && LAST_IP=$(cat "$CACHE")

if [ "$CURRENT_IP" != "$LAST_IP" ]; then
    RESPONSE=$(curl -s "https://www.duckdns.org/update?domains=${DOMAIN}&token=${TOKEN}&ip=${CURRENT_IP}&verbose=true")
    echo "$CURRENT_IP" >"$CACHE"
    echo "$(now) DuckDNS updated: $RESPONSE" >>"$LOG"
else
    echo "$(now) No IP change: $CURRENT_IP" >>"$LOG"
fi

# 保留日志文件最后100行
tail -n 100 "$LOG" >"${LOG}.tmp" && mv "${LOG}.tmp" "$LOG"

相关文章

  • Crontab简记

    Crontab cron是Unix系统下十分有用的工具,通过cron脚本能使计划任务定期的在系统后台自动运行。在C...

  • day16预习笔记

    Linux系统定时任务Cron(d)服务应用实践 什么是Cron(d): Cron是Linux系统中以后台进程模式...

  • Linux Crontab 定时任务

    inux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。 cron介...

  • Linux Crontab 定时任务

    linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。 cron...

  • 高效的log工具:Logrotate

    Logrotate的介绍 显而易见,Logrotate是基于CRON来运行的,其脚本是「/etc/cron.dai...

  • logrotate管理nginx日志

    logrotate脚本定时每日执行,脚本通常在 /etc/cron.daily/ logrotate对nginx的...

  • 使用Cron在Ubuntu上创建定时任务

    cron是一个Linux定时执行工具,可以在无需人工干预的情况下运行作业。 Cron在后台运行,并且使用cron计...

  • DatistEQ之CRON编辑器

    Cron表达式,适用于周期性执行、日常维护、在某时刻需要完成的单次任务等场景。 Cron表达式介绍 Cron表达式...

  • linux开机自动启动程序

    1.corn linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问...

  • Vue应用框架整合与实战--前后端分离后的开发模式篇

    开发流程 后台编写和维护接口文档,在 API 变化时更新接口文档 后台根据接口文档进行接口开发 前端根据接口文档进...

网友评论

      本文标题:duckdns 后台维护更新cron脚本

      本文链接:https://www.haomeiwen.com/subject/hlzigjtx.html