基于rhel 6 和centos 6

   使用的rpm包+yum来安装zabbix2.2,安装以后可以直接使用uninstall来卸载

   脚本测试是跑在没有安装httpd和mysql的机器上的,监控机器不会装其他的项目

   如果mysql不在本地在远端,请自行修改config_mysql的配置

附:zabbix-agent端使用yum -y install zabbix-agent即可安装,163的yum源有这个包。不过好像都是6.X以上的。  

    uninstall 请慎用 并没有仔细去写remove,如需卸载请改成rpm -e方式。

 

#!/bin/bash
#encoding:utf8
function ins_pro() {
echo
echo "############################################################################"
echo "安装zabbix基本需求环境包----------------------------------------------------"
yum -y install gcc  net-snmp-devel net-snmp net-snmp-utils OpenIPMI-devel curl-devel
echo "安装完成.-------------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_mysql() {
echo
echo "############################################################################"
echo "开始安装mysql数据库---------------------------------------------------------"
yum -y install mysql mysql-server mysql-devel
echo "mysql数据库安装完成。-------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_httpd() {
echo
echo "############################################################################"
echo "开始安装httpd.--------------------------------------------------------------"
yum -y install httpd
echo "httpd安装完成.--------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_php() {
echo
echo "############################################################################"
echo "开始安装php环境包-----------------------------------------------------------"
yum -y install  php php-mysql php-gd php-bcmath php-xml php-mbstring php-snmp
echo "php安装完成。---------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_zabbix() {
echo
echo "############################################################################"
echo "开始安装zabbix--------------------------------------------------------------"
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql
echo "安装完成--------------------------------------------------------------------"
echo "############################################################################"
echo
}
function config_zabbix(){
echo
echo "#######################################################################"
echo "添加/etc/services记录--------------------------------------------------"
cat >> /etc/services << "EOF"
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
sed -i 's/# DBPassword=/DBPassword=zabbix/' /etc/zabbix/zabbix_server.conf
echo "添加完成---------------------------------------------------------------"
echo "#######################################################################"
echo
}
function config_mysql() {
echo
echo "#######################################################################"
echo "开始配置mysql 数据库---------------------------------------------------"
cd /usr/share/doc/zabbix-server-mysql-2.2.0/create
mysql -uroot  < /etc/zabbix/web/zabbix.conf.php
cat >> /etc/zabbix/web/zabbix.conf.php << "EOF"

EOF
echo "#######################################################################"
echo "httpd配置完成----------------------------------------------------------"
}
function remove() {
echo
echo "########################################################################"
echo "卸载安装的包-----------------------------------------------------------"
yum -y remove  net-snmp-devel net-snmp net-snmp-utils OpenIPMI-devel curl-devel mysql mysql-server mysql-devel   php php-mysql php-gd php-bcmath php-xml php-mbstring php-snmp httpd 
echo "卸载完成---------------------------------------------------------------"
echo
echo "########################################################################"
echo "删除httpd配置文件------------------------------------------------------"
if [ -d /var/www/html ];
then
    /etc/init.d/httpd stop
    \cp -r /var/www/html /tmp/html
    rm -rf /var/www/html/*
    sed -i 's/date.timezone =PRC/;date.timezone =/' /etc/php.ini
    echo "http配置文件已删除---------------------------------------------"
fi
echo "删除完成---------------------------------------------------------------"
echo "########################################################################"
echo
echo "########################################################################"
echo "准备删除数据库文件----------------------------------------------------------"
if  [ -d /var/lib/mysql ];
then
    /etc/init.d/mysqld stop
    \cp -r /var/lib/mysql /tmp/mysql
    rm -rf /var/lib/mysql
    rm -rf /etc/my.cnf
    echo "数据库文件已删除------------------------------------------------"
fi
echo "########################################################################"
echo
echo "########################################################################"
echo "准备删除zabbix----------------------------------------------------------"
if [ -d /etc/zabbix ]
then
    /etc/init.d/zabbix stop
    rm -rf /etc/zabbix
    echo "zabbix已经删除--------------------------------------------------"
fi
}
function start_services() {
echo
echo "#######################################################################"
echo "启动httpd服务"
/etc/init.d/httpd start
echo "#######################################################################"
echo "启动MYSQL数据库"
/etc/init.d/mysqld start
echo "#######################################################################"
echo "启动zabbix服务"
/etc/init.d/zabbix-server start
echo
echo "访问方法:http://localhost 或者:http://ip ------------------------------"
}
case "$1" in
    install)
    ins_pro
    ins_mysql
    ins_httpd
    ins_php
    ins_zabbix
    start_services 
    config_zabbix
    config_mysql
    config_php
    config_httpd
    ;;
    mysql)
    config_mysql
    ;; 
    uninstall)
    remove
    ;;
    start)
    start_services
    ;;
    *)
        echo "Usage:$0 {install|mysql|uninstall|start}"                        
        ;;
esac