免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2621 | 回复: 10
打印 上一主题 下一主题

求助完善KSH。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-25 09:02 |只看该作者 |倒序浏览
写了段KSH,由于水平相当有限,又想搞好点,所以来此求助。
我写的如下:简单得一塌糊涂吧.....

======================================================
t=`date +%F-%H-%M-%S`                                                                                                             
rsh p52A-1 /home/mon/check_gapp_136.sh   > /home2/mon/log/${t}
rsh p270b /home/mon/check_gapp_231.sh >> /home2/mon/log/${t}
rsh p690lp3 /home/mon/check_gapp_60.sh  >> /home2/mon/log/${t}
rsh gateway1 /mon/check_datcon_11.sh >> /home2/mon/log/${t}
rsh gateway2 /mon/check_datcon_13.sh >> /home2/mon/log/${t}
……………………………………………………
……………………………………………………
……………………………………………………
……………………………………………………                                   
more /home2/mon/log/${t}|grep 不正常


注:那些check脚本,会显示什么什么进程 正常,或者什么什么进程 不正常。
======================================================
这个sh主要目的就是把所有系统中的一些必要进程进行监控,用rsh来搞定。

现在想多做2件事,一个就是在进行统计中,能有个进度条,
另外就是,最后more那个文件,如果没有不正常,能显示一句:全部检查通过

谢谢各位高手帮助阿!!

论坛徽章:
0
2 [报告]
发表于 2008-07-25 09:28 |只看该作者
每做完一次echo 一个#;
more那个文件怎么才算正常
more这个${t}?

论坛徽章:
0
3 [报告]
发表于 2008-07-25 09:55 |只看该作者
原帖由 CUaixer 于 2008-7-25 09:02 发表
写了段KSH,由于水平相当有限,又想搞好点,所以来此求助。
我写的如下:简单得一塌糊涂吧.....

======================================================
t=`date +%F-%H-%M-%S`                         ...

进度条不知道怎么弄,不过最后一个显示全部通过不是很容易么
[ `grep 不正常 /home2/mon/log/${t}|wc -l` -eq 0 ] && echo 全部通过

论坛徽章:
0
4 [报告]
发表于 2008-07-25 10:13 |只看该作者

回复 #3 jinl 的帖子

grep 不正常
楼主是这样吗

论坛徽章:
0
5 [报告]
发表于 2008-07-25 10:28 |只看该作者
原帖由 可可熊 于 2008-7-25 10:13 发表
grep 不正常
楼主是这样吗

不是这样,是什么呢?
他最后一条命令不是些的清清楚楚

论坛徽章:
0
6 [报告]
发表于 2008-07-25 10:51 |只看该作者
原帖由 jinl 于 2008-7-25 09:55 发表

进度条不知道怎么弄,不过最后一个显示全部通过不是很容易么
[ `grep 不正常 /home2/mon/log/${t}|wc -l` -eq 0 ] && echo 全部通过


谢谢!很符合我的需求!呵呵~

论坛徽章:
0
7 [报告]
发表于 2008-07-25 10:54 |只看该作者
进度条找到一个不错的。
drawper ()
{
_per=`expr $1 \* 100 / $2`
case `expr $_per / 4 % 4` in
0) _char="|" ;;
1) _char="/" ;;
2) _char="-" ;;
3) _char="\\" ;;
esac
printf "\r$_char $_per%%"
if [ $1 -eq $2 ];then
printf "\n"
fi
}
i=1
while [ $i -le 100 ]
do
drawper $i 100
i=`expr $i + 1`
done

不过不知道怎么弄到我的SH里去,哎。

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
8 [报告]
发表于 2008-07-25 11:44 |只看该作者
给些建议。

是否每台服务器上的检查脚本都不一样? 或者有部分相同?  这个就可以利用一下。

比如你可以建个list文件:

Hostname    function
p52A-1        Group1
p270b         Group2
gateway1   Gateway
gateway2   Gateway

这样的话, 用下面的循环

for HOST in `cat $HOSTLIST |grep XXXX`
do
            rsh $HOST "$CMD"

done

[ 本帖最后由 rdcwayx 于 2008-7-25 11:46 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2008-07-25 13:26 |只看该作者
恩 楼上的建议不错。谢谢了

论坛徽章:
0
10 [报告]
发表于 2008-07-25 14:25 |只看该作者
原帖由 CUaixer 于 2008-7-25 13:26 发表
恩 楼上的建议不错。谢谢了

我一般都不使用rsh,这个安全性会下降
我一般都是在各个主机上设置crontab 任务,最后把log文件ftp出来查看一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP