Небольшой скрипт для автоматизации работы
Полезный скрипт для автоматизации рутинной работы. Скрипт лезет по telnet и выполняет определенный набор команд. Например если вам нужно обновить прошивку на 100 коммутаторах, эта штука вам подойдет. Набор команд находится в файле commands.
Короче говоря этот скрипт автоматизирует работу, и сам заходит по telnet и выполняет команды.
[tsolodov@myserver ~/bin/conveer]$ cat ./commands
enable lldp
config lldp message_tx_interval 30
config lldp tx_delay 2
config lldp message_tx_hold_multiplier 4
config lldp reinit_delay 2
config lldp notification_interval 5
config lldp forward_message enable
config lldp ports 1-24 notification disable
config lldp ports 1-24 admin_status disable
config lldp ports 25-28 notification enable
config lldp ports 25-28 admin_status tx_and_rx
config lldp ports 25-28 basic_tlvs port_description system_name system_description system_capabilities enable
config lldp ports 25-28 dot1_tlv_pvid enable
config lldp ports 25-28 dot1_tlv_vlan_name vlanid 1-4094 enable
config lldp ports 25-28 dot1_tlv_protocol_identity eapol enable
config lldp ports 25-28 dot1_tlv_protocol_identity lacp enable
config lldp ports 25-28 dot1_tlv_protocol_identity gvrp enable
config lldp ports 25-28 dot1_tlv_protocol_identity stp enable
save
Вот сам скрипт:
[tsolodov@myserver ~/bin/conveer]$ cat ./conveer.sh
#!/usr/local/bin/bash
FILE=`cat $1 | sort -u`
for I in $FILE
do
if [ -n "$I" ]
then
(sleep 1; echo login_to_device; echo "password_to_device";sleep 2; cat ./commands; sleep 5; )| telnet $I
fi
done
параметр скрипта – путь с файлу с IP адресами в
Вот пример такого файла
[tsolodov @myserver ~/bin/conveer]$ cat ./ips
127.0.0.1
127.0.0.2
Вот и все, запускаем
[tsolodov@myserver ~/bin/conveer]$ ./conveer.sh ./ips
И на всех железяках будут выполнены команды как в файле ./commands
Тоже на днях ваял подобное, правда на питоне и с учетом того что сеть у нас не однородная (есть и д-линки 3028 и линксисы sps224g4), посему надо их различать. Об элегантности особо не заботился, задача стояла чтобы работало, так что вот: http://pastebin.com/HNxyymDp
ОтветитьУдалитьС таймаутами в телнет сессии к длинку можно поиграться, с этими точно все работает - если убрать нет, можно попробовать по 0.5 скажем.
Подскажите начинающему, как переделать скрипт, если:
ОтветитьУдалить1. Ситуация такая же почти один в один. bash telnet-сессия удаленный хост запуск телнета скриптом.
2. НО Исполняемый скрипт написан на Перле и лежит на удаленной машине (роутер), права на исполнение есть (на удаленной машине локально запускается и все отрабатывает правильно).
3. И Нужно вернуть результат исполнения скрипта на удаленной машине в telnet сессию на локальном компьютере-инициаторе для дальнейшего использования.