使用SNMP协议通过SNMP命令运行脚本会在脚本执行时提供不同的输出

时间:2012-12-12 04:59:17

标签: linux shell snmp

我想通过SNMP命令shell执行脚本。对于该脚本,我在OID snmpd.conf文件夹下的/etc/snmp配置了"text"

我的脚本工作似乎只是将output.txt重定向到#!/usr/bin/ksh Input_path="$HOME/input.txt" Out_Path="$HOME/output.txt" #I have to take the line_num from output.txt which is actually number of line present in output.txt line_num=`wc -l <$out` #after that i need to take that line from INPUT file line=`head -$a $Input_path | tail -1 ` #i need to uppend data to 1 kb for that i am using typset command typeset -L1024 line #I am increasing value of a a=`expr $a + 1` #same i am echo in file so at this point number of line in file will increase by 1 echo $a >> $Out_Path #this is the final output which i want . echo -e "$line\n" 文件,然后在控制台上执行打印脚本。

{{1}}

输出

如果我从节点使用snmpwalkcommand ... 1

snmpwalk命令输出

和更新的output.txt文件是 1 2

snmpwalk命令输出

C

和更新的output.txt文件是 1 2 3 4

snmpwalk命令输出

C

和更新的output.txt文件是 1 2 3 4 5

这意味着我得到了一个,c,e ......但我需要一个,b,c,d,e

我正在进行这种类型的处理,因为data.txt中的数据超过1 kb,并且我无法在snmpget命令中获取超过1 kb的记录,这就是为什么我要执行此过程来获取整个数据。

1 个答案:

答案 0 :(得分:0)

a)尝试包括一个&#34; shebang&#34; line(#!/bin/sh)作为脚本的第一行

b)尝试设置文件的完整路径,例如echo "text" > /tmp/output.txt

c)确保您写入的路径可由UID snmpd写入(/tmp/通常是)