前面的文章中设置了电信的外网访问,并且在 OpenWrt 中安装了 Python ,主要就是为了自动化的更新阿里云的域名
话说 OpenWrt 中有自带的 ddns ,而且也支持阿里云,但好像不是很好,看日志的话,每十分钟会更新一次,而 IP 检测到没有变化的话,并不需要更新解析
准备代码
直接上代码链接吧
https://gitee.com/master_xu/aliyun_ddns
使用需要修改代码中的 accessKeyId 和 accessSecret
原始代码也是直接网上复制的(对不起,忘了在哪复制的了)
随手做了一些修改,因为本人有多个域名需要解析
accessKeyId 和 accessSecret 在阿里云的这里管理
设置自动执行
在 OpenWrt 后台中,上传你的 py 文件
ssh 登录 OpenWrt ,将 py 文件从 /tmp/upload/ 复制到 其他目录
然后在 计划任务 中
设置计划任务
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