Страница 1 из 1

Бэкап свитчей по snmp с выборкой из файла

Добавлено: 2012-08-15 16:23:26
brainiac
Добрый день коллеги!

Есть задача пройтись по всем свитчам и забэкапить конфиги.
Суть в том, что скрипт должен из файла следующего формата взять строчку, распарсить и сделать свое дело.
Файл с данными sw.txt:

Код: Выделить всё

10.13.1.1 public Ленина_105
10.13.1.2 public Павла_Морозова_7


Скрипт бэкапа:

Код: Выделить всё

#!/bin/sh

set `date +"%Y %m %d %H %M"`

device_ip="`awk '{print $1}' sw.txt`"
device_community="`awk '{print $2}' sw.txt`"
device_name="`awk '{print $3}' sw.txt`"

snmpset -v 2c -c "$device_community" $device_ip 1.3.6.1.4.1.11.2.14.11.5.1.7.1.5.6.0 i 2
echo "get running-config $1-$2-$3-$device_name.txt"|tftp $device_ip
snmpset -v 2c -c "$device_community" $device_ip 1.3.6.1.4.1.11.2.14.11.5.1.7.1.5.6.0 i 1
Но беда в том, что если в файле свитчей только одна строчка все выполняется нормально,
как только добавляю еще выпадает с ошибкой. Не могу понять, что не так, ведь все данные корректно считываются. :st:

Re: Бэкап свитчей по snmp с выборкой из файла

Добавлено: 2012-08-15 16:32:08
kpp
Пройтись по файлу sw.txt в цикле

Код: Выделить всё

#!/bin/sh

while read device_ip device_community device_name
do
   snmpset -v 2c -c "$device_community" $device_ip 1.3.6.1.4.1.11.2.14.11.5.1.7.1.5.6.0 i 2
   echo "get running-config $1-$2-$3-$device_name.txt"|tftp $device_ip
   snmpset -v 2c -c "$device_community" $device_ip 1.3.6.1.4.1.11.2.14.11.5.1.7.1.5.6.0 i 1
done < sw.txt

Re: Бэкап свитчей по snmp с выборкой из файла

Добавлено: 2012-08-15 17:00:42
brainiac
Хм, действительно, просто и без заморочек.
Кстати, с циклом вы мне подсказали почему с ошибкой вылетает моя версия.
У меня в начале передаются сразу все данные из файла и в итоге снмп
не может по понятной причине выполнить команду с множеством айпишников и пр.
Тут как раз цикл нужен был блин. Чеж сразу то не допер.
Не знал, что в переменные можно считать данные просто чтением из файла, надо буит еще посидеть над доками по sh :(