1,snmp安装脚本for ubuntu/CentOS

#!/usr/bin/env bash
export LC_ALL=C
if [ "$(id -u)" != "" ]
then
echo "This script. must be run as root" >&
exit
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 >/dev/null >&
fi
cmd=`rpm -q perl|grep -v "not installed"`
if [ "$cmd"x = ""x ]
then
yum install -y perl >/dev/null >&
fi
cmd=`rpm -q perl-devel|grep -v "not installed"`
if [ "$cmd"x = ""x ]
then
yum install -y perl-devel >/devel/null >&
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 ;
}
if [ $# -lt ]
then
echo "请输入参数"
Usage
fi
#####get parameters
version=
username=""
password=""
while getopts ":v:u:p:" opt;
do
case $opt in
v)
version=$OPTARG
if [[ ${OPTARG::} = "-" ]]
then
echo ""
echo "-v need argument"
echo ""
Usage
fi
;;
u)
username=$OPTARG
if [[ ${OPTARG::} = "-" ]]
then
echo ""
echo "-u need argument"
echo ""
Usage
fi
;;
p)
password=$OPTARG
if [[ ${OPTARG::} = "-" ]]
then
echo ""
echo "-p need argument"
echo ""
Usage
fi
;;
:)
Usage
;;
?)
paralist=-;
Usage
;;
esac
done
###check version number, must be or
if [ $version -ne "" -a $version -ne "" ]
then
Usage
exit
fi
if [ $version -eq "" -a "$username"x = ""x ]
then
echo "版本3必须要输入用户名"
Usage
fi
###check password length, version big then , version big then
if [ "$version" -eq "" ]
then
if [ ${#password} -lt "" ]
then
echo ""
echo "Your passwords must greater than 8 bytes" >&
echo ""
Usage
fi
else ########### version =
if [ ${#password} -lt "" ]
then
echo ""
echo "Your passwords must greater than 6 bytes" >&
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.
./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
)
cat >> /usr/local/snmp/share/snmp/snmpd.conf << EOF
rocommunity $password 101.199.100.150
rocommunity $password 220.181.150.98
rocommunity $password 180.153.229.230
rocommunity $password 220.181.150.125
rocommunity $password 103.28.10.223
EOF
;;
)
cat >> /usr/local/snmp/share/snmp/snmpd.conf << EOF
rouser $username auth
EOF
# echo "createUser $2 MD5 $3" >>/var/net-snmp/snmpd.conf
# cat >> /var/net-snmp/snmpd.conf << EOF
#createUser $ MD5 $
#EOF
;;
*)
echo "Please check your input version" >&
echo
exit
;;
esac
i=
while [ $i -lt ]
do
ret=`/usr/local/snmp/sbin/snmpd`
ret=`ps aux | grep -v grep | grep snmp`
if [ "$ret"x = ""x ]
then
((i=i+))
ret=`/usr/local/snmp/sbin/snmpd`
else
break
fi
done
case $version in
)
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 - $pid
/usr/local/snmp/sbin/snmpd
else
/usr/local/snmp/sbin/snmpd
fi
case $version in
)
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 - $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
fi
echo "Finish..."
echo
exit

linux监控脚本的更多相关文章

  1. 【不积跬步,无以致千里】五个常用的Linux监控脚本代码

    为大家提供五个常用Linux监控脚本(查看主机网卡流量.系统状况监控.监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告.监控CPU和内存的使用情况.全方位监控主机),有需要的朋友不妨看 ...

  2. 几个常用的Linux监控脚本

    几个常用的Linux监控脚本 几个常用的Linux监控脚本下面是几个主机监控的脚本,大家可以根据自己的情况再进行修改,希望能给大家一点帮助.1.查看主机网卡流量#!/bin/bash#network# ...

  3. 五个常用的Linux监控脚本代码

    bash中 2>&1 & 的解释 1.首先,bash中0,1,2三个数字分别代表STDIN_FILENO.STDOUT_FILENO.STDERR_FILENO,即标准输入(一般 ...

  4. linux监控脚本,脚本支持传参,整合C程序

    1,查看指定用户下的进程pid

  5. linux 监控脚本运行时间

    虽然可以使用time命令,但是有时候会有写日志之类的需求. 使用如下脚本可以计算时间: #!/bin/bash sdate=`date +%s.%N` edate=`date +%s.%N` echo ...

  6. Linux系统性能统计工具Sar和实时系统性能监控脚本

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...

  7. linux shell脚本守护进程监控svn服务

    最近搭建的svn服务不知道什么原因服务总是被关闭(如果你不知道怎么搭建svn可以参考linux下搭建svn版本控制软件),因此用shell脚本实现一个守护进程.用于监控svn服务是否启动,如果服务不在 ...

  8. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...

  9. Linux 服务器系统监控脚本 Shell【转】

    转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...

随机推荐

  1. App 推荐:Spotify

    之前一直用网易云音乐听歌,后来因为沸沸扬扬的 XCode 注入病毒事件,就把它卸了(无奈脸=.=) 对比国内其它音乐App,私心觉得网易云音乐还是不错的.没有很多花里胡哨的装饰,里面的歌单做的也还算精 ...

  2. 转(havel 算法)

    http://www.cnblogs.com/wally/p/3281361.html poj 1659(havel算法) 题目链接:http://poj.org/problem?id=1659 思路 ...

  3. PHP MySQL Where 子句 之Where

    WHERE 子句 如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句. 语法 SELECT column FROM table WHERE column operator va ...

  4. hdu 4751 Divide Groups(dfs染色 或 2-sat)

    Problem Description   This year is the 60th anniversary of NJUST, and to make the celebration more c ...

  5. 第八届郑州轻工业学院ACM(程序设计大赛)校内预选赛

    郑州轻工业学院有一个大赛,把几个有趣的题目分享一下.下面是题目连接,喜欢了就点点... 斗破苍穹 礼上往来 统计人数 神の数 炉石传说 Mathematics and Geometry 马拉松后记 斗 ...

  6. CentOS6.5下使用NetHogs监控进程网络使用情况

    Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于能够显示每一个进程的带宽占用情况,这样能够更直观获取网络使用情况.它支持 IPv4 和 IPv6 协议.支持本地网卡及 PPP 链接. ...

  7. CCCardinalSplineBy概念

    cardianl 红衣主教 这个类是样条曲线动作, 其创建函数是CCCardinalSplineBy::create(float duration, cocos2d::CCPointArray *po ...

  8. 并行任务task

    http://msdn.microsoft.com/zh-cn/library/dd537609(v=vs.110).aspx http://www.cnblogs.com/yangecnu/p/So ...

  9. 虚拟机下opensips 启动

    先启动MYSQL mysql:service mysqld start 然后启动RTP代理 rtpproxy -l 192.168.6.199 -s udp:192.168.6.199:7890 -F ...

  10. 枚举 enum

    typedef enum : NSUInteger { <#MyEnumValueA#>, <#MyEnumValueB#>, <#MyEnumValueC#>, ...