菜单

MasterXu
发布于 2021-03-28 / 537 阅读 / 0 评论 / 0 点赞

OpenWRT + Python 自动更新域名解析

前面的文章中设置了电信的外网访问,并且在 OpenWrt 中安装了 Python ,主要就是为了自动化的更新阿里云的域名

话说 OpenWrt 中有自带的 ddns ,而且也支持阿里云,但好像不是很好,看日志的话,每十分钟会更新一次,而 IP 检测到没有变化的话,并不需要更新解析

准备代码

直接上代码链接吧

https://gitee.com/master_xu/aliyun_ddns

使用需要修改代码中的 accessKeyId 和 accessSecret

原始代码也是直接网上复制的(对不起,忘了在哪复制的了)
随手做了一些修改,因为本人有多个域名需要解析

accessKeyId 和 accessSecret 在阿里云的这里管理

image26.png

设置自动执行

在 OpenWrt 后台中,上传你的 py 文件

image27.png

ssh 登录 OpenWrt ,将 py 文件从 /tmp/upload/ 复制到 其他目录

然后在 计划任务 中

image28.png

设置计划任务

1 * * * * /usr/bin/python /root/aliddns_masterxu.py

以上的命令指, 每个小时的第一分钟执行 aliddns_masterxu.py

其他的 crontab 设置查看 :https://www.runoob.com/linux/linux-comm-crontab.html

另外,如果第一次编辑 crontab 文件,OpenWrt 中说需要重启 cron 服务,在 ssh 中执行,相关命令如下

crontab启动:/etc/init.d/cron start 或 service cron start
crontab重启:/etc/init.d/cron restart 或 service cron restart
crontab关闭:/etc/init.d/cron stop 或 service cron stop

检查是否自动运行

第一就是查看 aliyun 的解析是否变化,或者可以查看这段 py 代码输出的日志 log.txt

crontab 自动执行,是以 root 的 ~ 目录,所以正常情况下,以 root 身份登录,就能看到 log.txt

image29.png


评论