sebastian
@sebastian

Snmpwalk — остановить вывод?

Как ограничить вывод snmpwalk? Проблема в том, что обычным grep, tail, head не обойдешься, потому что snmpwalk отдает несколько тысяч строк, а мне нужно первые например 50. А пока он не прочитает все — скрипт дальше не выполняется.
  • Вопрос задан
  • 4822 просмотра
Решения вопроса 1
sledopit
@sledopit
Так у Вас проблема не в head'ах и tail'ах, они то работают отлично. А в том, что они режут, как им и сказали 50-100 строк, а snmpwalk после этого не завершается, а продолжает честно генерить контент, который Вам уже не нужен.
Тут примерно такая же разница, как между
cat big_file | head -10 и head -10 big_file
Вот вам наглядный тест с полугиговым текстовым файлом:
$ time cat test > /dev/null
real 0m6.708s
$ time cat test | tail -10 > /dev/null
real 0m6.297s
$ time tail -10 test > /dev/null
real 0m0.007s

Можно попробовать накрутить всякие костыли, а-ля
(snmpawlk | head -50 & ) ; sleep сколько_там_надо_времени_нагенерить_50_строк+запас ; killall snmpwalk
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
m0ps
@m0ps
а почему бы не получать через snmpwalk только нужные данные из определенных OID?
Ответ написан
pentarh
@pentarh
дак ты пайпом читай то. будет выводить столько сколько читаешь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы