expect批量备份mac地址脚本
[root@test-syslog-o mac]#mkdir -p /var/script/mac/log/
1. [root@test-syslog-o mac]# viscript.exp
#! /usr/bin/expect
set ip [lindex $argv 0]
set timeout 1
spawn ssh -v -1 -c des -q -oStrictHostKeyChecking=no huan.yan@test.com@$ip
expect "*password:"
send "123456.Aa\r"
expect "*>"
send "dis mac-add | ex Eth-Trunk \r"
log_file $ip.log
while (1) {
sleep1
expect {
" ---- More ----" { send" " }
"Total*" { break }
}
}
expect ">"
send "quit\n"
expect eof
2. [root@test-syslog-o mac]# vi loop.sh
#!/bin/sh
while read ip
do
expect script.exp $ip
done < ip.txt
3. [root@test-syslog-o mac]#tar.sh
#!/bin/sh
/bin/sh loop.sh
tar -zcvf ./log/$(date +%Y%m%d%H%M)mac.tar.gz *.log
rm -rf /var/script/mac/*.log
/bin/cp -rf /var/script/mac/log/$(date+%Y%m%d%H%M)mac.tar.gz /mnt/share/Switch/BJ/mac
4.[root@test-syslog-o mac]# vi ip.txt
172.16.100.1
172.16.100.2
……
172.16.100.200
执行脚本[root@test-syslog-o mac]#sh -x tar.sh