Поиск по этому блогу

02.03.2014

Применение empty

Empty - утилита, которую я использую в небольших скриптах для выполнения однообразных команд на группе однотипных устройств. В дистрибутивах линуксов это пакет empty-expect.
Вот вариант скрипта, с помощью которого надо было подключиться на удаленное устройство по ssh и далее уже telnet'ом зайти на каждый коммутатор и проверить на нем наличие аварий.
В LIST'е построчно указаны адреса, а в CMD - команды, например:

set cli terminal xterm
set cli screen-length 0
set cli screen-width 0
show system alarm
show chassis alarms
show chassis hardware | no-more
В комментариях скрипта указано, что при необходимости запуска empty для выполнения множества одновременных обращений к разным устройствам требуется соблюдать уникальные значения переменных, которые используются для log, pid, fifo. Например, передаем скрипту в качестве переменной адрес хоста, который будет использован в идентификаторе:

cat ./LIST | while read line
do
./myempty.sh $line &
#тут можно вставить условие проверки количества файлов в pid/ и паузу при превышении нужного значения.
done
Empty мне больше нравится, чем expect. Для каких-то задач использую pexpect.