- 论坛徽章:
- 0
|
说白了,就是用 lynx来解决的,,,已知的兄弟请不要BS我,非常感谢,呵。
相信 3322.org 这个动态域名不少人应该比较熟悉了。
我的小站用的正是 3322.org 域名,由于原来一直无法顺利解决内网获取外网IP的问题,因此很是
无奈,经常要手工更新 ip,而且如果人不在主机旁边的话根本无法正确得知IP。
其客户端 for Win2000/XP/2003 在内网里可以很稳定/正常的获取到外网IP,可是 for Linux/Fr
eeBSD/Unix 版本却不行,后经过大量的查询终于找到解决方案,现将解决方案写在这儿,呵。
同时感谢提供这些方案的高手们,我只是将方案组合在一起
先上 http://lynx.isc.org/release/ 下载 lynx,当然,这是 linux 主机没有安装的情况下才需要
安装的。
fetch http://lynx.isc.org/release/lynx2.8.5.tar.gz
下载至本地之后解压
tar xzvf lynx2.8.5.tar.gz
进入其目录之后先配置
./configure
然后运行
make install 进行安装
安装成功之后编辑 /etc/crontab 文件
vi /etc/crontab
加入
*/5 * * * * /usr/local/bin/lynx -mime_header -auth=username:password "http://www.3322.org/dyndns/update?system=dyndns&hostname=your.3322.org"
目的就是每 5 分钟自动更新一次 ip,username 与 password
分别为你在 3322.org 所注册的用户名与密码,your.3322.org
就是你所注册的 3322.org 域名。
这儿要注意的在 crontab 当中命令一定要指明全路径,否则的话是运行不了此
命令的,为此我走了些歪路,呵,这儿专门提醒下自己。
lynx 可以用 whereis lynx 查询其全路径。
[root@hamaslinux root]# whereis lynx
lynx: /usr/local/bin/lynx /usr/local/lib/lynx.cfg
得知全路径是 /usr/local/bin
顺便附上 crontab 的用法
浏览 crontab -l
修改编辑 crontab -e
然后 esc 和 i 键来回切换模式状态,i 为编辑,esc后为功能(x 删除,dd 删一行),:wq 保存退出,:q!不保存退出。就这样。
* * * * * 五个项目,
minute, hour,mday,month,wday,command。它们差不多已经说明了各自的用处。
Minute 是命令要运行时的分钟,Hour 跟 minute 差不多,只是用小时来表示。Mday 是每个月的天。
Month 跟 hour 还有 minute 都差不多,用月份来表示。wday 字段表示星期几。所有这些字段的值必须是数字并且用24小时制来表示。
。这是最后的一个字段,所以自然就是它指定要运行的程序。
[例8]
5,15,25,35,45,55 16,17,18 * * * command
这就是表示任意天任意月,其实就是每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。
[例9] 在每周一,三,五的下午3:00系统进入维护状态,重新启动系统。那么在crontab 文件中就应该写入如下字段:
00 15 * * 1,3,5 shutdown -r +5
然后将该文件存盘为foxy.cron,再键入crontab foxy.cron安装该文件。
[例10] 每小时的10分,40分执行用户目录下的innd/bbslin这个指令:
10,40 * * * * innd/bbslink
[例11] 每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
[例12] 每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire>expire.1st)
[例13] 每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,55 3 4-9 1,4 * /bin/rm -f expire.1st>>mm.txt |
|