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

 

posted @ 2021-08-18 17:13  大韩小白  阅读(51)  评论(0)    收藏  举报