Telnet сеанс в bash

Короткая статья о том, как можно сделать скрипт сеанса с telnet сервером в bash.

Для этого нам нужен telnet клиент, screen актуальной версии и облочка bash.

!Внимание! Скрипт ниже делался «на скорую руку». Использование данного скрипта только на свой страх и риск =)

Я не буду рассматривать базовые примеры, однако разберу свой скрипт

Работа с сервером teamspeak 3 через Query порт. Скрипт запускается с параметром, который определяет выводимые данные, что дает ему некую универсальность.

Здесь на выходе мы получаем число, которое может использовать например zabbix сервер.

Теперь подробнее об инструментах. Я использую screen в фоновом режиме, передавая ему команды как при обычной работе пользователя. Весь вывод пишется в screenlog.0 (благодаря параметру -L). Потом через cat, grep, cut я фильтрую до нужного значения и удаляю лишний файл. Как правило, выполнение такого скрипта занимает не более 3-х секунд. Задержка в 2 сек нужна для уверенности в том, что сервер ответит.

На основе данного скрипта можно создать множество сценариев.