您的位置:首页 > 职场人生

据说是一道面试题

2011-08-18 15:36 253 查看
环境:

有100台server,配置好了密钥登录方式。ip地址为;192.168.217.1~100。跑着相同的服务,但是其中一部分服务进程出现异常,会在该服务的日志文件/home/logs/cc.log 中生成带有关键字err的错误。一部分服务能够正常工作。要求写shell查出出现异常服务的IP。
个人认为两个shell更加容易理解。在管理服务器上写如下两个脚本

[root@xmydlinux ~]# vi c.sh
#!/bin/bash
IP=`ifconfig |sed -n '/192.168.217./{s/.*addr://;s/ .*//;p}'`
ERRTURE=`grep err /home/logs/cc.log`
#如文件过大,可更改为sed打印第一行关键字即可。
if [ $ERRTURE ]
then
echo $IP
fi


[root@xmydlinux ~]# vi s.sh
#!/bin/bash
chmod 777 ~/bb.sh
for ((i=1;i<=100;i++))
do
scp -p ~/c.sh root@192.168.217.$i:~ >>/dev/dull
ssh root@192.168.217.$i "sh ~/c.sh &&rm -rf ~/c.sh"
done

给s.sh文件授权执行即可。
[root@xmydlinux ~]# chmod +x s.sh
[root@xmydlinux ~]# ./s.sh
192.168.217.17
192.168.217.30      //服务异常IP(也可写入文件作下一步操作)

完!
本文出自:http://www.xmydlinux.org/201106/550.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: