linux监控脚本
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监控脚本的更多相关文章
- 【不积跬步,无以致千里】五个常用的Linux监控脚本代码
为大家提供五个常用Linux监控脚本(查看主机网卡流量.系统状况监控.监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告.监控CPU和内存的使用情况.全方位监控主机),有需要的朋友不妨看 ...
- 几个常用的Linux监控脚本
几个常用的Linux监控脚本 几个常用的Linux监控脚本下面是几个主机监控的脚本,大家可以根据自己的情况再进行修改,希望能给大家一点帮助.1.查看主机网卡流量#!/bin/bash#network# ...
- 五个常用的Linux监控脚本代码
bash中 2>&1 & 的解释 1.首先,bash中0,1,2三个数字分别代表STDIN_FILENO.STDOUT_FILENO.STDERR_FILENO,即标准输入(一般 ...
- linux监控脚本,脚本支持传参,整合C程序
1,查看指定用户下的进程pid
- linux 监控脚本运行时间
虽然可以使用time命令,但是有时候会有写日志之类的需求. 使用如下脚本可以计算时间: #!/bin/bash sdate=`date +%s.%N` edate=`date +%s.%N` echo ...
- Linux系统性能统计工具Sar和实时系统性能监控脚本
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...
- linux shell脚本守护进程监控svn服务
最近搭建的svn服务不知道什么原因服务总是被关闭(如果你不知道怎么搭建svn可以参考linux下搭建svn版本控制软件),因此用shell脚本实现一个守护进程.用于监控svn服务是否启动,如果服务不在 ...
- linux系统CPU,内存,磁盘,网络流量监控脚本
前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...
- Linux 服务器系统监控脚本 Shell【转】
转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...
随机推荐
- 回归分析:非线性nlinfi
今天测试.这首题,真的很头疼,第一次看到这个题,就知道要用nlinefit函数做,但是我一个地方没搞清楚, 花了我40多分钟还没做也来. 最后终于是调用的函数出错了.主要是没有将一个列抽出来.一个二维 ...
- EasyUI的下拉选择框控件方法被屏蔽处理方式
1.html标签如下 <div id="selectMap" style="top: 1px;left: 80px;position: absolute;" ...
- Linux环境Nginx安装多版本PHP
php5.4.44 所谓多版本多版本PHP就是php5.4和5.5以及其他版本在同一台服务器. 假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不 ...
- java面试题集1
一:单选题 下列哪一种叙述是正确的(D )A. abstract修饰符可修饰字段.方法和类B. 抽象方法的body部分必须用一对大括号{ }包住C. 声明抽象方法,大括号可有可无D. 声明抽象方法不可 ...
- poj 3436 (最大流)
题意:每台电脑共有p种零件,现在有n台机器,给出n台机器每台需要的一些种类零件当原料(0代表不需要,1代表必须要,2代表可有可无)和输出的产品零件.问怎么安排生产线使生产出来零件可以组装的电脑最多. ...
- 用数据说话,外贸B2C产品选择(上篇)-热门搜索法
当选择了外贸这条路,那就是选择了跟外国人做生意.那面对全球这么大的市场究竟选什么样的产品才干脱颖而出?什么样的产品才是全球卖家喜欢的呢?什么样的产品才干让自己財源滚滚?我想这都是全部刚開始外贸创业的人 ...
- stagefright框架(一)Video Playback的流程
在Android上,預設的多媒體框架(multimedia framework)是OpenCORE. OpenCORE的優點是兼顧了跨平台的移植性,而且已經過多方驗證,所以相對來說較為穩定:但是其缺點 ...
- java学习之部分笔记
1.枚举类型 2.String的方法Index的用法.StringBuffer 的用法.Math的用法.Date类 3.用abstract修饰的类就是抽象类.抽象方法不能有主体.抽象类中,可以有抽象方 ...
- jquery方法详解
jquery方法详解 http://www.365mini.com/doc
- 出发 Let's Go
今天是中秋佳节,而恰好我这天过生日,晚上睡觉前又恰好听到温岚唱的祝我生日快乐,心里挺高兴的. 最近,由于公司需要,可能要学习Python和Tribon了,全是未知的,一点不了解的东西,也忽然想起了在这 ...