中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 04:22
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [请教]检测系统log存活以及有无关键字
可打印版本  1,886 / 19
第1楼 win007 发表于 2008-12-24 17:50
初级用户 发帖 44 积分 45
[请教]检测系统log存活以及有无关键字
1.首先,有个问题用什么办法判定log 3分钟有没有进行记录,因为上次通过检验文件修改时间的

方法,由于系统本身有自动启动的功能,而自动启动以后,虽然log中有写入内容,但是log的修改

时间并没有改变(原因不得而知),所以请教有无其他办法或者知道这个的原因,能判定log有无

内容写入,从而判定系统是否存活。
2.系统运行时候有产生log,3分钟一次,若产生failed,error,exception,warning就会发出警告信

息 如:SYSTEM HAS failed/error/exception/warning
第2楼 exzzz 发表于 2008-12-24 18:11
初级用户 发帖 167 积分 194
如果是想判断远程计算机是否存活,你不如在远程机器上架个简单的FTP或IIS,在自己机器上定时telnet上去然后看看本地日志,通过本地日志看是否存活。

如果是想看自己的机器是否存活,那。。。。。如果机器挂了,那你这监控程序也没用啊。难道重启了再判断??那你可以定时写入时间嘛,通过判断时间差距来判断上一次日志到本次日志之间系统是否挂了。


我觉得问题在于:你没有把问题所在的环境描述清楚。。。

[ Last edited by exzzz on 2008-12-24 at 18:12 ]
第3楼 win007 发表于 2008-12-24 18:38
初级用户 发帖 44 积分 45
[请教]检测系统log存活以及有无关键字
我想了解是一个系统的存活,并不是操作系统,应该不是你说的机器的存活吧!这个系统应该是在本机上的,我是通过任务计划来定时判断的,因为已经用过判定上次日志记录,文件修改的时间和本次日志记录,文件修改的时间差距的方法了,但是问题在于因为这个系统有自动重起的功能,然后等到重起以后再次写入日志后,日志文件的修改时间并没有变化,依然停留在系统重起的时间,这也是我搞不懂的原因!现在想问有其他方法来判定日志是否写入,从而判定该系统是否存活,第二步,我想问通过搜索关键字,来进行警报,问题在于log 3分钟记录一次,若本次log出现关键字,则警报,下个3分钟不出现关键字,就算前几次都出现,也不发警报。
第4楼 HAT 发表于 2008-12-24 19:00
版主 发帖 5,017 积分 9,023
请把上次那个帖子链接更新到顶楼,以方便他人了解事情的来龙去脉。
第5楼 exzzz 发表于 2008-12-24 20:06
初级用户 发帖 167 积分 194
日志发生变化后,如果大小变化了,可以判定系统产生了变动,可以对它进行分析。

如果日志是固定大小的,可以考虑用findstr 定时在日志中查询某个关键词的数量并计数,若数量发生变化就报警,应该是可以的吧?

把你的日志文件贴上来,这样才能帮到你

[ Last edited by exzzz on 2008-12-24 at 20:09 ]
第6楼 win007 发表于 2008-12-25 10:25
初级用户 发帖 44 积分 45
我先研究下,可以参考我更新过的 帖子 了解上次的算法
[已结]检测系统存活的程式
第7楼 win007 发表于 2009-01-07 15:49
初级用户 发帖 44 积分 45
经过研究,log大于1000K,会自动重新刷新一版,旧版就保存在同文件夹下,而monitor.bat是一直关注最新一版的log。这就产生个问题--如果用计算“error等关键字个数的方法就没有办法准确来确定log当时是否error,无论本次的error个数大于,还是小于上次error的个数,都不能确定系统是否报error
比如:1.前后都检查同一个log中的error:(1).Cur_error_count>last_error_count 有error
(2).Cur_error_count=last_error_count>0 有error
总结:0<last_error_count=<Cur_error_count 有error
2.前后检查不同的log中的error:
(1).Cur_error_count>last_error_count 有error
(2).0<Cur_error_count<last_error_count 有error
(3).0<Cur_error_count=last_error_count 有error
总结:0<Cur_error_count=<last_error_count 有error
Cur_error_count>last_error_count 有error
这样就不能有个数的方法来判断,请哪为高手帮帮忙啊!
第8楼 win007 发表于 2009-01-07 15:52
初级用户 发帖 44 积分 45
http://www.cn-dos.net/forum/viewthread.php?tid=44617&fpage=1 这个是原来的monitor可供大家参考
第9楼 win007 发表于 2009-01-08 23:59
初级用户 发帖 44 积分 45
哪位高手解答下啊~
第10楼 slore 发表于 2009-01-09 00:23
铂金会员 发帖 2,478 积分 5,212
fc.exe
第11楼 win007 发表于 2009-01-09 18:38
初级用户 发帖 44 积分 45
楼上的仁兄,能不能说的详细点啊~
第12楼 win007 发表于 2009-01-11 23:30
初级用户 发帖 44 积分 45
高手解答下啊 万分求救呀
第13楼 slore 发表于 2009-01-12 00:39
铂金会员 发帖 2,478 积分 5,212
定时复制一个副本
fc.exe /b a.log b.log
检测%errorlevel%可以比较出有没有差异
第14楼 win007 发表于 2009-01-12 20:45
初级用户 发帖 44 积分 45
不会啊,能不能提供代码,我是菜鸟,万分感谢
第15楼 slore 发表于 2009-01-12 22:00
铂金会员 发帖 2,478 积分 5,212
copy a.log b.log
等待3分钟
fc.exe /B a.log b.log
echo %errorlevel%
自己看吧。

[ Last edited by slore on 2009-1-12 at 22:01 ]
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023