TA的每日心情 | 怒 2014-4-9 17:48 |
---|
签到天数: 35 天 [LV.5]常住居民I
普通用户
|
注册后可查看完整内容!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 fangyugg 于 2013-12-5 21:01 编辑
这也是一个老问题了。最后还是自己编脚本解决了。
分两步,第一步是编写自动ddns的脚本。no-ip,花生壳等ddns更新脚本网上都有。我就贴上一个我自己的。
wanip='curl ifconfig.me' #这个不是必须的,没有好像也能运行,ddns服务器会自动获取你访问的外网ip
wait
wget -q 'http://username:passwd@ddns.oray.com/ph/update?hostname=xxxx.gicp.net&myip=$wanip'#其中,&myip=$wanip也不是必须的。一般会自动认识当时的访问ip。这个是花生壳的。
wget -q 'http://username:passwd@dynupdate.no-ip.com/nic/update?hostname=xxxx.no-ip.org&myip=$wanip'
hostname后面换上你申请的动态域名就可以了。这个是no-ip的。
脚本保存好之后,记得chmod +x 脚本名字
然后就是更改crontab了。
由于群晖的计划任务机制不是直接调用系统的,而是利用系统的crontab启动一次计划任务,然后再由群晖自己的计划任务机制来运行循环脚本。群晖自己的计划任务最小时间单位是小时,对我们这儿平均8个小时就要更换一次ip的adsl来说太慢了。因此我们就必须绕过你在管理网页上的计划任务,直接在系统层面来修改。
修改方法也不是象传统linux一样用crontab。而是直接访问crond的设置页。就是/etc/crontab文件。
#minute hour mday month wday who command
56 7 * * 3,6 root /usr/syno/bin/synopkg chkupgrade
20 0 * * * root /usr/syno/bin/timebkp recycle_al
*/10 * * * * root /root/ddns-check.sh
这就是我的设置。你照抄最后一行就ok了。意思是每10分钟运行ddns检查脚本一次。嗯,1分钟就不必了吧。实话告诉你,花生壳是你一在ddns服务器上更改,立刻就能解析出来,但是no-ip,呵呵,延迟很厉害的,没有半个小时解析更新不过来的。如果你不断骚扰ddns服务器,它会给你一个abuse的反馈。所以10分钟足够了。
一般需要ddns也就是你的移动端和cloud station客户端要用到。差个10来分钟也不算啥啊。实在不行,你让系统每查到一次ip变了就发个邮件给你。你直接用ip也ok的了。
修改完了重启就ok了。嗯,弊端是会在脚本边上出现一个update文件,里面记录了最后一次运行脚本时服务器给的反馈。这个没办法,wget就这样了。看不顺眼你就加一行rm update就行了。
|
|