@
mind3x 果然可以,真的是非常感谢。
最终的脚本如下:
脚本1:wget更新changeip免费ddns的主脚本
####################
updatedns.sh###########################
#/root/
updatedns.sh/usr/sbin/mwan3 stop #由于mwan3强大的功能会无视我们指定的端口,所以先暂时停止mwan3
sleep 5
INTERFACE=pppoe-wan2 #填入自己需要强制通行的端口
MYIP=`curl --interface pppoe-wan2
http://ifconfig.me/ip`#通过curl命令抓取我们所指定端口的网址,如果没有安装curl,记得先去安装
nonceIP=`ifconfig -a|grep -A 1 $INTERFACE|grep inet|awk '{print $2}' |awk -F: '{print $2}'`
usedIP=`cat /tmp/usedIP.txt`#通过grep搜索curl获取到的myip地址,并且写入到/tmp/usedIP.txt,如果没有安装curl,记得先去安装
if [ "$nonceIP" == "$usedIP" ]; then
echo $nonceIP > /tmp/nonceIP.txt #判断nonceIP是否和usedIP一致,如果一致就停止更新ddns,如果不同则执行下面的wget命令
else
wget -q -O- '
http://nic.ChangeIP.com/nic/update?hostname=******&${MYIP}&u=******&p=******&cmd=update&offline=0' #根据自己ddns服务商不能,wget的命令也会不一样。
fi
sleep 5
/usr/sbin/mwan3 start #重新启动mwan3任务
######################
updatedns.sh############################
这个脚本我是放在/root/updatedns.sh下,记得修改权限为0777
脚本2:这个脚本是让/root/updatedns.sh能按计划执行的
######################crontab############################
#/etc/crontabs/crontab
*/30 * * * * root /root/
updatedns.sh > /dev/null 2>&1 #最前面的30是代表更新的时间间隔,30是代表30分钟。可以根据自己的需求修改。位置是放在/etc/crontabs/crontab,记得修改权限为0777
######################crontab############################
最后再次感谢@
mind3x给予我的帮助,也十分感谢@
mind3x分享的wndr4300的openwrt固件。南无阿弥陀佛。
用的时候记得把#后面的文字删除,这句是写给和我一样的小白的。