Я столкнулся с проблемой запуска скрипта через команду snmpwalk, которая должна перенаправить случайное число в выходной файл:
Я настроил OID для скрипта в snmpd.conf undet /etc/snmp/ as exec .1.3.6.1.4.1.99.1.53.1006 script.sh.sh /root/my_folder/script.sh
Мой скрипт такой:
#!/usr/bin/ksh
Out_Path="$HOME/output.txt"
echo $RANDOM >> $Out_Path
--------------------------
Теперь я выполняю команду snmpwalk как: snmpwalk -t 10 -v 1 -c public 127.0.0.1.1.3.6.1.4.1.99.1.53.1006, и в выходном файле я получаю 2 случайных числа вместо 1. Я ожидаю только одно Случайное число должно присутствовать в файле output.txt. Может ли кто-нибудь объяснить поведение или какое-то решение?
Актуальная проблема:
Я объясняю, чего я хочу достичь. Мне нужно выполнить скрипт с помощью команды snmpget.
Проблема 1: Когда я использую команду SNMPGET, скрипт выполняется, и ответ (внутренний) я получаю полным (более 1 КБ), но после сохранения этого ответа в файле я делаю echo $ строка в цикле while, который займет строку файла, и, как я и ожидал, он должен показать мне все данные (но я могу получить только данные 1 КБ)
Проблема 2: Чтобы решить проблему 1, я принимаю новый дизайн, который похож на 1 OID (скрипт), я получил все данные в файле. После этого я выполняю новый скрипт, используя новый OID, который будет получать 1 запись (1 КБ) и изменять существующие данные и обновить данные. Таким образом, я буду выполнять второй скрипт несколько раз, используя snmpwalk с другим OID, поэтому я получу всю запись. Но моя проблема в том, что когда я пытаюсь обновить запись (файл), а затем в одном выполнении он удаляет данные размером 2 КБ, по этой причине я разместил вопрос (2 случайных числа в 1 команде snmpwalk).
Я надеюсь, что теперь вы понимаете проблему, но если вам нужны подробности, я объясню вам.
>>
дописывает строку к содержимому файла, удобно для логов, а>
открывает файл с нуля), нужно ли вам такое поведение? - person Dmytro Sirenko   schedule 12.12.2012