Linux下如何实现SNMP一键安装的Shell脚本
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍Linux下如何实现SNMP一键安装的Shell脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为
千家信息网最后更新 2025年02月03日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安全错误
数据库的锁怎样保障安全
工业控制网络技术知识点
网络安全生态大会
宝马应用了哪些车载网络技术
文明网络安全征文小学
出入口控制系统软件开发计划
徐汇区营销软件开发信息中心
数据库 部门
李飞飞华为数据库
未来学什么软件开发好20
互联网高科技小说
数据库设计表格数据类型解释
俄罗斯网络技术好强
数据库分数统计代码既运行结果
应用商店连不上服务器怎么办
慧科网络技术有限公司
maven 仓库服务器
上海网络安全竞赛
深圳企业网络安全
juno软件开发
access数据库到数据
怎样备份数据库文件mdf
网络安全专业哪些大学比较好
首届全国青少年网络安全编程大赛
新乡网络技术有限公司编号
金华订制app软件开发
用ssh登陆数据库
公司年报在哪个数据库可以查
如何取消云服务器自动登录
数据库数据存储原理
哈霍兰服务器排队如何解决