MOE

[root@ChrisTest spawnL2SW]# more doshow.sh
#!/usr/bin/expect -f

##Define Variables
#Define Timeout
set time 10
#Define Password
set passwd "XXXXXXX"
set passwd2 "xxxxx"
set passwd2en "xxxxxxxx"
#Define Prompt
set prompt "CNAPS-UAT-SW01.>$"
set prompt2 "SH.
S.>$"
set prompt2en "SH.
S.#$"
#Define the last for character of mac address
set macaddr "3a66"
#Define HOSTNAME, argv 0 means get the first parameters from input.
set HOSTNAME [lindex $argv 0]
#Login Gateway Switch
spawn ssh [email protected]
expect {
"
yes/no" { send "yes\r"; exp_continue }
"Password:" { send "$passwd\r" }
}
expect -re "$prompt"
send "ssh $HOSTNAME\n"
expect {
"
yes/no" { send "yes\r"; exp_continue }
"*Password:" { send "$passwd2\r" }
}
expect -re "$prompt2"
send "enable\n"
expect "Password:"
send "$passwd2en\n"
expect -re "$prompt2en"
send "ter len 0\n"
expect -re "$prompt2en"
send "sh ip int b\n"
expect -re "$prompt2en"
send "sh mac addr | in $macaddr\n"
expect -re "$prompt2en"
send "exit\r"

====================================================

[root@ChrisTest spawnL2SW]# more main_doshowall.sh
#!/bin/sh

#Define Variable
LIST=./SWlist.txt
DATE=date '+%Y-%m-%d_%H:%M:%S'

#Create Worklog Folder
mkdir ./worklog_$DATE

#Recursive the IP addresses in SWList to run the Script doshow.sh
for TARGET in cat $LIST
do
echo $TARGET
./doshow.sh $TARGET | tee ./worklog_$DATE/$TARGET.log
done

#Just for Test
#./doshow.sh 10.110.104.71 | tee ./worklog_$DATE/10.110.104.71.log

echo ' '
echo ' '
echo ' '
echo ' '
echo ' '

#################Export All Double-down Status Ports in 11F################
#Export Count of Port Status for Switches on 11 Floor.
SH11ESupupcount=`grep -rnh "GigabitEthernet.up.up" worklog$DATE/10.110.104.7 | w
c -l<br/>SH11ESupdown_count=grep -rnh "GigabitEthernet.
up.down" worklog_$DATE/10.110.104.7
| wc -l<br/>SH11ESdownup_count=grep -rnh "GigabitEthernet.down.up" worklog_$DATE/10.110.104.7
| wc -l<br/>SH11ESdowndown_count=grep -rnh "GigabitEthernet.
down.down" worklog_$DATE/10.110.10
4.7
| wc -l`

SH11WSupupcount=`grep -rnh "GigabitEthernet.up.up" worklog$DATE/10.110.104.8 | w
c -l<br/>SH11WSupdown_count=grep -rnh "GigabitEthernet.
up.down" worklog_$DATE/10.110.104.8
| wc -l<br/>SH11WSdownup_count=grep -rnh "GigabitEthernet.down.up" worklog_$DATE/10.110.104.8
| wc -l<br/>SH11WSdowndown_count=grep -rnh "GigabitEthernet.
down.down" worklog_$DATE/10.110.10
4.8
| wc -l`

echo "11F East Area UP\/UP count=$SH11ESupupcount" >> ./worklog$DATE/Count_Statisti
cs
echo "11F East Area UP\/DOWN count=$SH11ESupdowncount" >> ./worklog$DATE/Count_Stat
istics
echo "11F East Area DOWN\/UP count=$SH11ESdownupcount" >> ./worklog$DATE/Count_Stat
istics
echo "11F East Area DOWN\/DOWN count=$SH11ESdowndowncount" >> ./worklog$DATE/Count_
Statistics

echo "11F West Area UP\/UP count=$SH11WSupupcount" >> ./worklog$DATE/Count_Statisti
cs
echo "11F West Area UP\/DOWN count=$SH11WSupdowncount" >> ./worklog$DATE/Count_Stat
istics
echo "11F West Area DOWN\/UP count=$SH11WSdownupcount" >> ./worklog$DATE/Count_Stat
istics
echo "11F West Area DOWN\/DOWN count=$SH11WSdowndowncount" >> ./worklog$DATE/Count_
Statistics

#Export Port Status for all Switches.
grep -r "GigabitEthernet.down.down" worklog$DATE/10.110.104.* | awk -F"/" '{print
$2,$3,$4}' >./worklog
$DATE/11FDownDownPorts.txt

#################Export All Double-down Status Ports in 11F################

#################Find out the Port on Switch for specific Macaddr################
PortNum=grep -rh -B 1 'DYNAMIC Gi' worklog_$DATE/
#echo $PortNum
echo "The Port Number of $macaddr on switch is" >> ./worklog$DATE/PortNum.txt
echo "$PortNum" >> ./worklog
$DATE/PortNum.txt
PortNumResultSW=grep "#" worklog_$DATE/PortNum.txt | awk -F"#" '{print $1}'
PortNumResultPT=grep DYNAMIC worklog_$DATE/PortNum.txt | awk '{print $4}' | uniq
echo 'Switch:' "$PortNumResultSW" 'Port:' "$PortNumResultPT" > worklog_$DATE/PortNum
Result.txt
################Find out the Port on Switch for specific Macaddr################

################Export All Results################
echo ' '
echo ' '
echo ' '
echo ' '
echo ' '
cat worklog_$DATE/CountStatistics
echo ' '
cat worklog
$DATE/PortNumResult.txt
################Export All Results################

exit 1

=============================================================

[root@ChrisTest spawnL2SW]# cat SWlist.txt
10.110.104.71
10.110.104.72
10.110.104.73
10.110.104.74
10.110.104.75
10.110.104.76
10.110.104.81
10.110.104.82
10.110.104.83
10.110.104.84
10.110.104.85
10.110.104.86
10.110.104.91
10.110.104.92
10.110.104.93
10.110.104.94
10.110.104.95
10.110.104.101
10.110.104.102
10.110.104.103
10.110.104.104
10.110.104.105
10.110.104.106
10.110.104.111
10.110.104.112
10.110.104.113
10.110.104.114
10.110.104.115
10.110.104.117
10.110.104.119
10.110.104.121
10.110.104.122
10.110.104.123
10.110.104.124
10.110.104.151
10.110.104.156
10.110.104.157
10.110.104.158

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章