我在通过 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 并且在输出文件中我得到 2 个随机数而不是 1。我只期待一个随机数应存在于 output.txt 文件中。任何人都可以解释这种行为或一些解决方案吗?
实际问题:
我正在解释我想要实现的目标。我需要通过 snmpget 命令执行脚本。
问题 1:当我使用SNMPGET命令时,脚本执行并且响应(内部)我已经满了(超过 1 KB),但是在将这个响应保存在一个文件中之后,我在一个 while 循环中执行echo $line,它将占用该行一个文件,正如我期望的那样,它应该向我展示整个数据。(但我只能获取 1 KB 数据)
问题 2:为了解决问题 1,我采用了一种新设计,就像从 1 个 OID(脚本)我在一个文件中获取了整个数据。之后我使用新 OID 执行一个新脚本,它将获取 1 个记录(1KB)并修改现有数据并更新数据。所以像这样我将使用具有不同 OID 的 snmpwalk 多次执行第二个脚本,所以我将获得所有记录。但我的问题是当我尝试更新 reord(file) 时,然后在一次执行中它正在删除 2 KB 数据,因为这个原因我发布了这个问题。(1 snmpwalk 命令中的 2 次随机数)。
我希望你现在明白这个问题,但如果你想了解更多细节,我会向你解释。