snmpwalk コマンドを使用してスクリプトを実行すると、乱数が出力ファイルにリダイレクトされるという問題に直面しています。
snmpd.conf undet /etc/snmp/ でスクリプトの OID を 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そして出力ファイルで私は1ではなく2つの乱数を取得しています.私は1つだけを期待しています乱数は、output.txt ファイルに存在する必要があります。動作または解決策を説明できる人はいますか?
実際の問題:
達成したいことを説明しています.snmpgetコマンドでスクリプトを実行する必要があります。
問題 1: SNMPGETコマンドを使用すると、スクリプトが実行され、応答が (内部的に) 一杯になります (1 KB 以上) が、この応答をファイルに保存した後、行を取得する while ループでecho $lineを実行しています私の期待どおり、データ全体が表示されるはずです(ただし、1 KBのデータしか取得できません)
問題 2: 問題 1 を解決するために、1 つの OID(スクリプト) からファイル全体のデータを取得したような新しい設計を採用します。既存のデータとデータを更新します。このように、snmpwalk を使用して異なる OID を使用して 2 番目のスクリプトを複数回実行するので、すべてのレコードを取得します。 2 KB のデータを削除しているため、この理由で質問を投稿しました (1 つの snmpwalk コマンドで 2 回の乱数)。
これで問題が理解できたと思いますが、さらに詳細が必要な場合は説明します。