我开发了这个脚本程序:(程序名称为x1)
#!/bin/bash
/usr/bin/top -n 1 >/tmp/top1.log
echo ok
接下来是我在终端上运行它并获得正确回复的命令:
./x1
意味着当文件top1.log中写入top -n 1>tmp/top1.log
的外部命令,然后在输出中打印出消息ok!
但是,如果我配置了snmpd.cof并且程序是由snmp服务运行的:
snmpwalk -v2c -c public 127.0.0.0 OID
top -n 1>/tmp/top1.log
的外部命令不会放在top1.log中,并且不会生成文件top1.log,只会在输出中打印ok消息。
实际上,top -n 1>/tmp/top1.log
命令无法由SNMP服务运行。
答案 0 :(得分:0)
我的snmpd.conf:
syslocation Server Room
syscontact Sysadmin (root@localhost)
rwcommunity public 192.168.7.165
rwcommunity public 127.0.0.1
sh 1.3.6.1.4.1.999.4.1.4 public /tmp/x1
我使用(sh和exec)来运行!