QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 826|回复: 9

又有shell编程问题,请教大家

[复制链接]
发表于 2005-5-10 08:51:57 | 显示全部楼层 |阅读模式
一个程序,每发生一笔交易就在log文件里面产生一行交易记录,格式如下:

[code:1]2005-05-10 08:19:01||单位机密信息|客户机密信息|8|客户机密信息|单位机密信息|000||[/code:1]

大家看到了最后一列数字是000,这就是正常的,如果出现了111或者109这两个信号,那么就证明出问题啦。

现在我是tail -f log,这样,log文件的任何变化都在我的telnet上显示出来,但是每天发生万多笔交易,我不可能一直盯着屏幕啊,所以,怎样可以写一个脚本可以代替我盯着log文件,每当新的一行交易记录进入时检测这一行的最后一列是否包含111或者109,如果是,就beep的叫或者就屏幕闪,或者怎么样都可以,行不行?谢谢各位。



咦,怎么发在水园了,转到shell去。
 楼主| 发表于 2005-5-10 09:11:10 | 显示全部楼层
有没有人啊…………vimchina在哪儿啊?
回复

使用道具 举报

发表于 2005-5-10 09:32:34 | 显示全部楼层
[code:1]zhyfly@zhyfly:~/bash$ cat log
2005-05-10 08:19:01||单位机密信息|客户机密信息|8|客户机密信息|单位机密信息|000||2005-05-10 08:19:01||单位机密信息|客户机密信息|8|客户机密信息|单位机密信息|109||zhyfly@zhyfly:~/bash$ cat log|awk -F"|" '{if($8!~/000/)print}'
2005-05-10 08:19:01||单位机密信息|客户机密信息|8|客户机密信息|单位机密信息|109||
zhyfly@zhyfly:~/bash$
[/code:1]
回复

使用道具 举报

发表于 2005-5-10 09:32:47 | 显示全部楼层
用grep就可以了呀,这个简单~
回复

使用道具 举报

发表于 2005-5-10 09:43:06 | 显示全部楼层
最简单的:
[code:1]
#!/usr/local/bin/bash

tail -1 logfile|grep "000">/dev/null

case $? in
        0) echo ok ;;
        1) echo wrong ;;
esac[/code:1]
回复

使用道具 举报

发表于 2005-5-10 09:45:37 | 显示全部楼层
呵呵,不错,修改一下:
[code:1]#!/usr/local/bin/bash

tail -l logfile|grep "000">/dev/null

case $? in
   0) . ;;
   1) echo -e "\a" ;;
esac[/code:1]
出现beep声
回复

使用道具 举报

发表于 2005-5-10 09:47:03 | 显示全部楼层
[quote:986b25eb2f="zhy2111314"]呵呵,不错,修改一下:
[code:1]#!/usr/local/bin/bash

grep "000" logfile>/dev/null

case $? in
   0) . ;;
   1) echo -e "\a" ;;
esac[/code:1]
出现beep声 [/quote]我又稍微修改了一下下,更合理一点点
[code:1]
#!/usr/local/bin/bash

tail -1 logfile|grep "000">/dev/null

case $? in
   0) echo ok ;;
   1) echo wrong ;;
esac
[/code:1]
回复

使用道具 举报

发表于 2005-5-10 09:48:36 | 显示全部楼层
可以在退出状态为1(即出现问题的情况)的case语句里再加条件判断,更具体为111和109
atfa你自己整吧
回复

使用道具 举报

 楼主| 发表于 2005-5-10 10:47:24 | 显示全部楼层
诸位使用grep是不好的,因为用户信息里面有很多0000,呵呵,不过这个用awk和sed都简单,我能搞定。

这个脚本可以实时的监控?我感觉还是需要把它加到crontab里面才行啊,有没有办法让他不要退出一直执行呢?
回复

使用道具 举报

发表于 2005-5-10 11:34:47 | 显示全部楼层
那就是cron了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-7-8 13:10 , Processed in 0.041027 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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