Linux下如何实现SNMP一键安装的Shell脚本
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍Linux下如何实现SNMP一键安装的Shell脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为
千家信息网最后更新 2025年11月11日Linux下如何实现SNMP一键安装的Shell脚本
这篇文章主要介绍Linux下如何实现SNMP一键安装的Shell脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。SNMP 很多都用其安装之后,作为监控宝和阿里云的系统信息监控使用。
#!/usr/bin/env bash export LC_ALL=C if [ "$(id -u)" != "0" ] then echo "This script. must be run as root" 1>&2 exit 1 fi####check if gcc perl perl-devel(centos) or libperl-dev(ubuntu) exists, APT_CMD=`whereis apt-get|awk '{print $2}'` YUM_CMD=`whereis yum|awk '{print $2}'` if [ "$APT_CMD"x != ""x ] then echo "$APT_CMD" cmd=`dpkg -l|grep gcc` if [ "$cmd"x = ""x ] then apt-get install -y gcc fi cmd=`dpkg -l|grep perl` if [ "$cmd"x = ""x ] then apt-get install -y perl fi cmd=`dpkg -l|grep "libperl-dev"` if [ "$cmd"x = ""x ] then apt-get install -y libperl-dev fi elif [ "$YUM_CMD"x != ""x ] then echo $YUM_CMD cmd=`rpm -q gcc|grep -v "not installed"` if [ "$cmd"x = ""x ] then yum install gcc -y 1>/dev/null 2>&1 fi cmd=`rpm -q perl|grep -v "not installed"` if [ "$cmd"x = ""x ] then yum install -y perl 1>/dev/null 2>&1 fi cmd=`rpm -q perl-devel|grep -v "not installed"` if [ "$cmd"x = ""x ] then yum install -y perl-devel 1>/devel/null 2>&1 fi else echo "your release have no yum or apt-get" fi function Usage() { echo "用法如下:(注意:2c版本密码必须大于6位,3版本密码必须大于8位)"; echo "" echo " $0 -v 版本号(2代表2C,3代表版本3) -u 用户名 -p 密码"; echo " $0 -v [2|3] -u username -p password"; echo ""; exit 0; } if [ $# -lt 1 ] then echo "请输入参数" Usage fi#####get parameters version=0 username="" password="" while getopts ":v:u:p:" opt; do case $opt in v) version=$OPTARG if [[ ${OPTARG:0:1} = "-" ]] then echo "" echo "-v need argument" echo "" Usage fi ;; u) username=$OPTARG if [[ ${OPTARG:0:1} = "-" ]] then echo "" echo "-u need argument" echo "" Usage fi ;; p) password=$OPTARG if [[ ${OPTARG:0:1} = "-" ]] then echo "" echo "-p need argument" echo "" Usage fi ;; :) Usage ;; ?) paralist=-1; Usage ;; esac done ###check version number, must be 2 or 3 if [ $version -ne "3" -a $version -ne "2" ] then Usage exit 3 fi if [ $version -eq "3" -a "$username"x = ""x ] then echo "版本3必须要输入用户名" Usage fi###check password length, version 3 big then 8, version 2 big then 6 if [ "$version" -eq "3" ] then if [ ${#password} -lt "8" ] then echo "" echo "Your passwords must greater than 8 bytes" 1>&2 echo "" Usage fi else ########### version = 2 if [ ${#password} -lt "6" ] then echo "" echo "Your passwords must greater than 6 bytes" 1>&2 echo "" Usage fi fi wget http://download.cloud.360.cn/yjk/net-snmp.tar.gz tar zxvf net-snmp.tar.gz cd net-snmp-5.7.2 ./configure --prefix=/usr/local/snmp --with-mib-modules=ucd-snmp/diskio -enable-mfd-rewrites --with-default-snmp-version="$version" --with-sys-contact="@@no.where" --with-sys-location="Unknown" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp" make make install case $version in 2) cat >> /usr/local/snmp/share/snmp/snmpd.conf << EOFrocommunity $password 101.199.100.150rocommunity $password 220.181.150.98rocommunity $password 180.153.229.230rocommunity $password 220.181.150.125rocommunity $password 103.28.10.223EOF ;; 3) cat >> /usr/local/snmp/share/snmp/snmpd.conf << EOFrouser $username authEOF# echo "createUser $2 MD5 $3" >>/var/net-snmp/snmpd.conf# cat >> /var/net-snmp/snmpd.conf << EOF#createUser $2 MD5 $3#EOF ;; *) echo "Please check your input version" 1>&2 echo exit 1 ;; esac i=0 while [ $i -lt 5 ] do ret=`/usr/local/snmp/sbin/snmpd` ret=`ps aux | grep -v grep | grep snmp` if [ "$ret"x = ""x ] then ((i=i+1)) ret=`/usr/local/snmp/sbin/snmpd` else break fi done case $version in 3) echo "createUser $username MD5 $password" >>/var/net-snmp/snmpd.conf ;; esac pid=`ps -ef|grep snmpd|grep -v grep|awk '{print $2}'` echo "pid: $pid" if [ "$pid"x != ""x ] then kill -9 $pid /usr/local/snmp/sbin/snmpd else /usr/local/snmp/sbin/snmpd fi case $version in 3) cmd=`cat /var/net-snmp/snmpd.conf|grep "$username"` if [ "$cmd"x == ""x ] then pid=`ps -ef|grep snmpd|grep -v grep|awk '{print $2}'` if [ "$pid"x != ""x ] then kill -9 $pid echo "createUser $username MD5 $password" >>/var/net-snmp/snmpd.conf fi fi ;; esac ret=`ps -ef | grep -v grep | grep snmp` if [ "$ret"x != ""x ] then echo "snmp start success" echo else echo "snmp start failed" echo exit 4 fi echo "Finish..." echo exit 0以上是"Linux下如何实现SNMP一键安装的Shell脚本"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
版本
密码
脚本
一键
代表
内容
用户
用户名
篇文章
监控
输入
价值
信息
兴趣
参数
小伙
小伙伴
更多
源码
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京客户管理软件开发
软件开发企业的财务特征
安卓手机 终端软件开发
天津服务器维修维保虚拟主机
上海互联网保险科技年会
imac能用什么软件开发
凤翔网络安全
组织宣传中小学网络安全
网络技术为什么能够快速发展
网络安全信息应用的案例
丽江互联网科技怎么样
数据库id增长太快
怎样给服务器装上材质包
v2网络异常不能连接服务器
网络安全与管理专业的职业分析
计算机网络技术(云计算方向)
加推软件开发
易语言数据库教学视频
网络安全的治理经验
服务器机箱的分类
医院网络安全责任书个人
数据库什么产品安全度最高
源数据库能够为用户提供
大话服务器查询
数据库是否可以删除
五年级网络安全手抄报内容
vsc添加数据库
怎么清除微信账号数据库
拓源网络技术有限公司
湖北仟选互联网科技有限公司