Частичная автоматизация бэкапа коммутаторов на tftp сервер через telnet
Создаем файл backup_tftp_3200.sh со следующим содержимым:
#!/bin/bash set -x USER="логин коммутатора" PASSWD="пароль" LOG="telnnet_conn.log" DATE=`date +%Y%m%d` HOSTS=`cat ./ip` SRV=`cat ./srv` for H in $HOSTS do echo START SCRIPT: >> $LOG date +%x-%R >> $LOG ( sleep 2; echo -en "$USER\r"; sleep 2; echo -en "$PASSWD\r"; sleep 2; echo -en "upload cfg_toTFTP "$SRV" dest_file "$H"_$DATE.cfg\r"; sleep 7; echo -en "logout\r"; sleep 2; exit; ) | timeout 15s telnet $H >> $LOG echo ================================== >> $LOG done >/dev/null |
Создаем файл ip со списком ip адресов коммутаторов:
172.31.4.2 172.31.4.3 172.31.4.4 172.31.4.5 172.31.4.6 172.31.4.7 172.31.4.8 172.31.4.9 172.31.4.10 172.31.4.11 172.31.4.12 172.31.4.13 172.31.4.14 172.31.4.15 |
Создаем файл srv с адресом tftp сервера:
172.31.4.1 |
Можно конечно все уложить в сам bash скрипт. Но у меня разные подсети, поэтому разбил по каталогам для свичей разных подсетей.
Для разных коммутаторов будут не много изменены telnet команды:
DES-1210
DES-3200
DES-3526
Edge-Core
Ubiquiti