大伟的批量管理脚本-集中监控模拟登录

脚本

#!/bin/bash
#sudo apt-get install tcl tk expect

workdir="/opt/workjzjkdir"
w_pass='123456*'
mkdir -p $workdir
cd $workdir
pingTong=0


ipFile=$1
if [ -f "$ipFile" ] ;then
	echo "加载IP列表文件完成。"
	echo "总共有`cat $ipFile |wc -l`个IP需要处理:"
else
	echo "加载IP列表文件出错:"
	echo "请把ip列表文件放在/opt/workjzjkdir目录下"
	echo "请此程序时输入命令后紧跟输入 空格和ip列表文件名"
	exit 0
fi




ipPing(){
	pingTong=0
	n=$(timeout 1 ping $ip -c 1 |grep "0% packet loss"|grep -v grep|wc -l)
	if [[ $n -eq 1 ]] ; then 
		#echo "${ip} ping通";
		pingTong=1
	else 
		#echo "${ip} ping不通";
		pingTong=0
	fi
}

ipSsh(){
expect -c "
set timeout 1
spawn ssh $ip \"echo sshLoginOK001\"
expect {
\"*assword\" { send \"${w_pass}\r\";}
\"yes/no\" { send \"yes\r\"; exp_continue;}
}
expect eof"
}

i=0
cat $ipFile | while read ip
do
	let i+=1;
	ipPing
	if [[ $pingTong -eq 1 ]] ; then
		n2=$(ipSsh |grep sshLoginOK001|grep -v grep|wc -l)
		if [[ $n2 -eq 2 ]] ; then
			printf "%10d%20s%20s%20s\n"  $i ${ip} ping通过 ssh登录成功
		else
			printf "%10d%20s%20s%20s\n"  $i ${ip} ping通过 ssh登录失败
		fi
	else
			printf "%10d%20s%20s%20s\n"  $i ${ip} ping不通 ssh不用测试
	fi
done


使用

#!/bin/bash
#sudo apt-get install tcl tk expect

workdir="/opt/workjzjkdir"
w_pass='123456*'
mkdir -p $workdir
cd $workdir
pingTong=0

#nohup ./piliangping.sh ip_list > piliangping.log &
#cp piliangping.log log

cat log    |grep ping > log.01

a=`cat log.01 |wc -l`
b=`cat log.01 |grep "ping通过"|wc -l`
c=`cat log.01 |grep "ping不通"|wc -l`
d=`cat log.01 |grep "ssh登录成功"|wc -l`
e=`cat log.01 |grep "ssh登录失败"|wc -l`

#printf "%20s%20s%20s%20s%20s\n" IP总数量 ping通总数量 ping不通总数量 ssh登录成功总数量 ssh登录失败总数量
printf "%10s%10s%10s%10s%10s\n" sum pingOK pingErr sshOK sshErr
printf "%10s%10s%10s%10s%10s\n" $a $b $c $d $e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值