北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 25177|回复: 41

[已解决]用zmud telnet方式登录交换机、路由器,查询相关信息加入数据库的方法

[复制链接]
发表于 2009-6-23 17:21:49 | 显示全部楼层 |阅读模式

  ^??Internet%s(%x)%s(%x)%s(%x)%s%x%s(%x)
  #var ip %1;#var age %2;#var mac %3;#var vlan %4;
#var ipmac %1m%3;
#if (%find("@ipmac")) {#find @ipmac} {#new};
#dbput {ipmac=@ipmac|ip=@ip|mac=@mac|age=@age|vlan=@vlan|time=%time(c)};


主要思路是连接交换机, sh arp 获取的ip mac数据保存到数据库
如果数据库已经有了该条纪录,则更新。否则添加
因为#query查询数据不正确,适用ip+mac放在第一行作为索引

请教一下,这么做有什么问题,因为实际运行中,数据库还是添加了重复记录
------------
问题已经解决,详见31F
本贴讨论并解决了 用zmud telnet方式登录交换机、路由器,查询相关信息加入数据库的方法
原贴标题:为什么dbput了重复纪录

[ 本帖最后由 chengsan 于 2009-6-25 03:38 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-6-23 17:24:52 | 显示全部楼层
按照设想,多次运行 sh arp,只要ip+mac字段总是唯一的,实际中重复的越来越多
就算第一次运行 sh arp,也有重复记录
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-6-23 17:31:53 | 显示全部楼层
你这是在用zmud管理网络么?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-6-23 17:37:02 | 显示全部楼层
对zmud脚本不熟,等某个bt玩家来指点吧。
不过可以建议你分开测试,先看是否能正确判断出记录已存在,估计问题是出在这里,也许换个方式判断能搞定。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-6-23 17:40:17 | 显示全部楼层
用cmud,提取交换机的一些数据
用来分析。
%find() #find查找数据的定位稍微有些差别
一个下午都没有搞定 sigh
似乎mush更不适合干这个事情,因为mush访问数据库更麻烦
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-6-23 17:41:52 | 显示全部楼层
你用已经存在的数据试试find能不能真的全部找出?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-6-23 17:45:37 | 显示全部楼层
可以找到
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-6-23 17:48:34 | 显示全部楼层
#find 能否找到所有数据,并定位在第一条上
手动dbput更新的也是这一条
showdb显示也是正常的

%find()也能返回正确的数值
只是定位似乎不准确,因为showdb显示的记录编号不一致
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-6-23 17:55:08 | 显示全部楼层
要么就是%find的结果被认为是false了,条件改成判断%find是否为空或者是否找到试试?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-6-23 18:20:02 | 显示全部楼层
猛烈感谢icer的热情指点
实际操作还是不行。因为cmud么有找到isnull的判断办法
使用如下:
#if (%find("@ipmac")+1=1) {#new} {#find @ipmac} ;
也许考虑换个思路,用mush直接访问外部数据库?
因为需要连接多个交换机,#ses似乎总是开新的标签,无法在当前标签窗口打开
到时候也是个问题
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-5-23 09:07 PM , Processed in 0.010111 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表