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

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
brainiac
рядовой
Сообщения: 38
Зарегистрирован: 2011-05-10 14:59:08

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

Непрочитанное сообщение brainiac » 2012-08-15 16:23:26

Добрый день коллеги!

Есть задача пройтись по всем свитчам и забэкапить конфиги.
Суть в том, что скрипт должен из файла следующего формата взять строчку, распарсить и сделать свое дело.
Файл с данными 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:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

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

Непрочитанное сообщение kpp » 2012-08-15 16:32:08

Пройтись по файлу 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
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

brainiac
рядовой
Сообщения: 38
Зарегистрирован: 2011-05-10 14:59:08

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

Непрочитанное сообщение brainiac » 2012-08-15 17:00:42

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