Есть скрипт, опрашивающий железку по snmpget, и, в зависимости от ответа, переводящий её в другое состояние по snmpset.
Есть смысл его оптимизировать (переписывать на Си не предлагать, тут без вариантов)
Идёт последовательный опрос нужных OID'ов, с последующим грепом, что не очень быстро (даже полсекунды общего выигрыша уже будет хорошо).
Я пришёл к очевидному сворачиванию последовательных вызовов snmpget в один вызов, но в идеале хотелось бы избавиться и от внешних вызовов grep.
Вопрос собственно такой: как набор строк вида
OID1 = Online(n)
OID2 = Offline(n)
OID3 = Offline(n)
OID4 = Offline(n)
OID5 = Online(n)
OID6 = Offline(n)
...
можно преобразовать чисто средствами bash (у меня есть вера, что builtin функции работают быстрее) в...ну, по сути, в битовый массив наверно.
Конечно, ассоциативный массив, вида sensor[OID]=1|0, было бы совсем удобно и красиво, но тут на первом месте стоит быстродействие, так что к чёрту красоту
Последующая логика, грубо говоря, выглядит так:
if sensor[OID1]==Online then snmpset(OID2) = Offline
PS
Да, я понимаю, что основное время съест ввод/вывод snmp запросов и я пытаюсь экономить на спичках
Ответ на:
комментарий
от drBatty
Ответ на:
комментарий
от zolden
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Bash. Обработка вывода (2013)
- Форум BASH и параллельная обработка вывода (2012)
- Форум Выборочная обработка вывода (2017)
- Форум Bash, обработка строки (2016)
- Форум bash вывод (2008)
- Форум Обработка вывода find (2004)
- Форум bash преобразовать вывод (2017)
- Форум Форматирование вывода bash. (2015)
- Форум Форматированный вывод bash (2014)
- Форум [bash] вывод нанных (2012)