shell脚本
一、自动备份脚本:
#!/bin/bash USERNAME=user PASSWORD=password COUNT=`cat ip | wc -l ` DIR=/root/shell/backup/`date +%Y%m%d` #判断备份目录是否存在,不存在则创建 if [ ! -d $DIR ];then mkdir -p $DIR echo -e "\033[32m This is $DIR mkdir success\033[0m" for ((i=1;i<=${COUNT};i++)) do #备份路径,读取IP列表中交换机名称来作为储存文件名称
expect << EOF | tee -a $DIR/`cat ip | awk '{print $2}' | sed -n "${i}p"`.log set timeout 30 spawn ssh -q network@`cat ip | awk '{print $1}' | sed -n "${i}p"` expect { "yes/no" { send "yes\r";exp_continue} "Password: " { send "$PASSWORD\r"} } expect { "*>" { send "dis ip inter bri\r" } } expect { "*>" { send "dis curr\r" } }
expect {
"*>"
{ send " \r" }
}
expect { "*>" { send "quit\r" } } expect eof EOF if [ $? = 0 ];then echo "switch backup sucess ip:`cat ip | awk '{print $1}' | sed -n "${i}p"` name:`cat ip | awk '{print $2}' | sed -n "${i}p"`" >> $DIR/sucess.txt echo -e "\033[32m `cat ip | awk '{print $2}' | sed -n "${i}p"` backup sucess\033[0m" else echo "switch backup failed ip:`cat ip | awk '{print $1}' | sed -n "${i}p"` name:`cat ip | awk '{print $2}' | sed -n "${i}p"`" >> $DIR/failed.txt echo -e "\033[32m `cat ip | awk '{print $2}' | sed -n "${i}p"` backup failed\033[0m" fi done fi