#!/bin/bash
#logsaver tat07 2 apply-comit-backout-bld1 R2711.01.38
#logsaver tat04 2 apply-reapply-commit-so-bld3 R2860.01.26
logsaver qisc2 2 apply-commit-backout-bld2 R3022.01.0120
#logsaver tat04 2 apply-backout-bld6 R3022.01.0100
***********************
#!/bin/bash
lss1un="alzhong"
lss1pw="allen211"
tat07=(tat07 135.111.57.66 135.111.57.67 4)
tat04=(tat04 135.1.68.238 135.1.68.239 4)
qtat1=(qtat1 135.252.132.162 135.252.132.163 2)
qisc2=(qisc2 135.251.159.65 135.251.159.66 2)
if [[ ! -d "dist" ]]; then
mkdir "dist";
fi
if [[ "${1}" = "tat07" ]];then
lab=(${tat07[@]})
elif [[ "${1}" = "tat04" ]];then
lab=(${tat04[@]})
elif [[ "${1}" = "qisc2" ]];then
lab=(${qisc2[@]})
else
lab=(${qtat1[@]})
fi
echo ${lab[@]}
#host lab load mi1 mi2 keyword level
saver 135.1.29.10 $1 $4 ${lab[1]} ${lab[2]} $3 $2 ${lss1un} ${lss1pw}
********************************
#!/opt/exptools/bin/expect
set rhost [lindex $argv 0]
set lab [lindex $argv 1]
set load [lindex $argv 2]
set mi1 [lindex $argv 3]
set mi2 [lindex $argv 4]
set keyword [lindex $argv 5]
set lever [lindex $argv 6]
set handle [lindex $argv 7]
set passwd [lindex $argv 8]
#save master.log in both im1 and mi2 to /storage/$handle
proc level_1 {mi1 mi2 keyword handle passwd} {
set timeout 3
spawn telnet $mi1
expect "login:"
send "root\r"
expect "Password:"
send "newsys\r"
expect "day:"
send "\r\r"
expect "root:"
send "mkdir -p /storage/$handle;cp -r ~lss/logs/master.log /storage/$handle/master-$keyword-mi1.log;chmod 7
77 /storage/$handle -R\r"
expect "root:"
send "exit\r"
spawn telnet $mi2
expect "login:"
send "root\r"
expect "Password:"
send "newsys\r"
expect "day:"
send "\r\r"
expect "root:"
send "mkdir -p /storage/$handle;cp -r ~lss/logs/master.log /storage/$handle/master-$keyword-mi2.log;chmod 7
77 /storage/$handle -R\r"
expect "root:"
send "cp /storage/sim/log/update/sim.log /storage/$handle/sim-$keyword.log\r"
expect "root:"
send "exit\r"
interact
}
#save master.log in both mi1 and mib to lsslogin1 /home/$handle/lab/load/
proc level_2 {rhost lab load mi1 mi2 keyword handle passwd} {
set timeout 3
spawn telnet $rhost
expect "login:"
send "$handle\r"
expect "Password:"
send "$passwd\r"
expect "$handle:"
send "mkdir -p logs/$lab/$load\r"
expect "$handle:"
send "ftp $mi1\r"
expect "):"
send "root\r"
expect "Password:"
send "newsys\r"
expect "ftp>"
send "bin\r"
expect "ftp>"
send "hash\r"
expect "ftp>"
send "cd /export/home/lss/logs/\r"
expect "ftp>"
send "get master.log /home/$handle/logs/$lab/$load/master-$keyword-mi1.log\r"
expect "ftp>"
send "bye\r"
expect "$handle:"
send "ftp $mi2\r"
expect "):"
send "root\r"
expect "Password:"
send "newsys\r"
expect "ftp>"
send "bin\r"
expect "ftp>"
send "hash\r"
expect "ftp>"
send "cd /export/home/lss/logs/\r"
expect "ftp>"
send "get master.log /home/$handle/logs/$lab/$load/master-$keyword-mi2.log\r"
expect "ftp>"
send "get /storage/sim/log/update/sim.log /home/$handle/logs/$lab/$load/sim-$keyword.log\r"
expect "ftp>"
send "bye\r"
send "chmod -R 755 /home/$handle/logs/$lab/$load;cd /home/$handle/logs/$lab/$load;ls\r"
interact
}
#do get_logs in standby mi and save the logs to lsslogin1
proc level_3 {rhost lab load mi1 mi2 keyword handle passwd} {
set timeout 3
spawn telnet $rhost
expect "login:"
send "$handle\r"
expect "Password:"
send "$passwd\r"
expect "$handle:"
send "mkdir -p logs/$lab/$load\r"
expect "$handle:"
send "ftp $mi1\r"
expect "):"
send "root\r"
expect "Password:"
send "newsys\r"
expect "ftp>"
send "bin\r"
expect "ftp>"
send "hash\r"
expect "ftp>"
send "cd /export/home/lss/logs/\r"
expect "ftp>"
send "get master.log /home/$handle/logs/$lab/$load/master-$keyword-mi1.log\r"
expect "ftp>"
send "bye\r"
expect "$handle:"
send "ftp $mi2\r"
expect "):"
send "root\r"
expect "Password:"
send "newsys\r"
expect "ftp>"
send "bin\r"
expect "ftp>"
send "hash\r"
expect "ftp>"
send "cd /export/home/lss/logs/\r"
expect "ftp>"
send "get master.log /home/$handle/logs/$lab/$load/master-$keyword-mi2.log\r"
expect "ftp>"
send "get /storage/sim/log/update/sim.log /home/$handle/logs/$lab/$load/sim-$keyword.log\r"
expect "ftp>"
send "bye\r"
send "chmod -R 755 /home/$handle/logs/$lab/$load;cd /home/$handle/logs/$lab/$load;ls\r"
interact
}
if {$lever == 1} {
level_1 $mi1 $mi2 $keyword $handle $passwd;
} elseif {$lever == 2} {
level_1 $mi1 $mi2 $keyword $handle $passwd;
level_2 $rhost $lab $load $mi1 $mi2 $keyword $handle $passwd;
} else {
level_1 $mi1 $mi2 $keyword $passwd;
level_2 $rhost $lab $load $mi1 $mi2 $keyword $handle $passwd;
#puts "level 3 have not been completed, just finish to level 2!!"
}