lepus 一键安装脚本
来源:互联网 发布:粤语网络女歌手排行榜 编辑:程序博客网 时间:2024/05/22 00:44
最近把开源的lepus做了一些定制改造,主要是让他监控我们的分布式mysql集群。修改了他的php和python代码。
后来发现这个东西安装比较麻烦,安装前要有php、python、httpd、snmpd环境,并且要有mysql数据库来存储数据(我为其内置了一个mysql。并把端口设置为3388)。
为了安装简单,我写了一个一键安装脚本,执行一个安装命令,就会自动安装完所有东西。并且把lepus启动项添加到linux自启动中去。
下面是安装脚本(目前这个只支持CentOs的6.5版本)。
#!/bin/shcur_dir=`dirname $0`cd $cur_dirlog_file="$cur_dir/install.log" install_dir="/usr/local/lepus"DO_LOG(){ declare time=`date "+%Y-%m-%d %H:%M:%S"` echo "[$time]$*" echo "[$time]$*">>$log_file}DO_WARN_LOG(){ declare time=`date "+%Y-%m-%d %H:%M:%S"` echo -e "\033[33m[$time]WARNING:$*\033[0m" echo "[$time]$*">>$log_file}DO_ERR_LOG(){ declare time=`date "+%Y-%m-%d %H:%M:%S"` echo -e "\033[31m[$time]ERROR:$*\033[0m" echo "[$time]$*">>$log_file}DO_SUCC_LOG(){ declare time=`date "+%Y-%m-%d %H:%M:%S"` echo -e "\033[32m[$time]SUCCESS:$*\033[0m" echo "[$time]$*">>$log_file}check_env(){ declare time=`date "+%Y%m%d%H%M%S"` declare check_flag check_flag=`cat /etc/redhat-release |grep "CentOS release 6.5"|wc -l` if [ $check_flag -eq 0 ];then DO_ERR_LOG "The os is not CentOS release 6.5 " exit 1 else DO_SUCC_LOG "The os is CentOS release 6.5 " fi if [ -d $install_dir ];then rm -f lepus-$time.bak tar zpcv -f lepus-$time.bak $install_dir >/dev/null 2>&1 rm -rf $install_dir/* else mkdir -p $install_dir fi}prepare_gcc_env(){ declare r_flag=0 DO_LOG "start prepare gcc environment ... " cd Pkg_Centos-6.5/gcc/ rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm >/dev/null 2>&1 rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm >/dev/null 2>&1 rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm >/dev/null 2>&1 rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm >/dev/null 2>&1 rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm >/dev/null 2>&1 DO_SUCC_LOG "Finished prepare gcc environment successfully " cd - >/dev/null 2>&1 return $r_flag}down_selinux_iptables(){ sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 iptables -F chkconfig --level 2345 iptables off }prepare_snmpd_env(){ declare r_flag=0 DO_LOG "start prepare snmpd environment ... " cd Pkg_Centos-6.5/snmpd/ rpm -ivh lm_sensors-libs-3.1.1-17.el6.x86_64.rpm >/dev/null 2>&1 rpm -ivh net-snmp-libs-5.5-49.el6.x86_64.rpm >/dev/null 2>&1 rpm -ivh net-snmp-5.5-49.el6.x86_64.rpm >/dev/null 2>&1 rpm -ivh net-snmp-utils-5.5-49.el6.x86_64.rpm >/dev/null 2>&1 DO_SUCC_LOG "Finished prepare snmpd environment successfully " cd - >/dev/null 2>&1 return $r_flag}prepare_httpd_env(){ declare r_flag=0 DO_LOG "start prepare httpd environment ... " cd Pkg_Centos-6.5/httpd/ rpm -ev --nodeps httpd-2.2.15-29.el6.centos.x86_64 >/dev/null 2>&1 rpm -ev --nodeps apr-util-ldap-1.3.9-3.el6_0.1.x86_64 >/dev/null 2>&1 rpm -ev --nodeps httpd-tools-2.2.15-29.el6.centos.x86_64 >/dev/null 2>&1 rpm -ev --nodeps apr-util-1.3.9-3.el6_0.1.x86_64 >/dev/null 2>&1 rpm -ev --nodeps apr-1.3.9-5.el6_2.x86_64 >/dev/null 2>&1 rpm -ivh apr-1.3.9-5.el6_2.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh apr-util-1.3.9-3.el6_0.1.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh httpd-tools-2.2.15-29.el6.centos.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh httpd-2.2.15-29.el6.centos.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 /etc/init.d/httpd start >>$log_file 2>&1 /sbin/chkconfig --level 2345 httpd on cd - >/dev/null 2>&1 if [ $r_flag -eq 0 ];then DO_SUCC_LOG "Finished prepare httpd environment successfully " else DO_ERR_LOG "Finished prepare httpd environment unsuccessfully " exit 1 fi return $r_flag}prepare_php_env(){ declare r_flag=0 DO_LOG "start prepare php environment ... " cd Pkg_Centos-6.5/php/ rpm -ev --nodeps php-mysql-5.3.3-26.el6.x86_64 >/dev/null 2>&1 rpm -ev --nodeps php-pdo-5.3.3-26.el6.x86_64 >/dev/null 2>&1 rpm -ev --nodeps php-5.3.3-26.el6.x86_64 >/dev/null 2>&1 rpm -ev --nodeps php-cli-5.3.3-26.el6.x86_64 >/dev/null 2>&1 rpm -ev --nodeps php-common-5.3.3-26.el6.x86_64 >/dev/null 2>&1 rpm -ivh php-common-5.3.3-26.el6.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh php-cli-5.3.3-26.el6.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh php-5.3.3-26.el6.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh php-pdo-5.3.3-26.el6.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 rpm -ivh php-mysql-5.3.3-26.el6.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 cd - >/dev/null 2>&1 if [ $r_flag -eq 0 ];then DO_SUCC_LOG "Finished prepare php environment successfully " else DO_ERR_LOG "Finished prepare php environment unsuccessfully " exit 1 fi return $r_flag}prepare_python_env(){ declare r_flag=0 declare v_mysql_config="" DO_LOG "start prepare python environment ... " cd Pkg_Centos-6.5/python/ rpm -ev --nodeps python-devel-2.6.6-51.el6.x86_64 >/dev/null 2>&1 rpm -ivh python-devel-2.6.6-51.el6.x86_64.rpm >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 if [ -d /usr/local/MySQLdb1-master ];then rm -rf /usr/local/MySQLdb1-master fi unzip MySQLdb-python.zip -d /usr/local >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 v_mysql_config=`find $install_dir/mysql -name mysql_config` if [ ! -z $v_mysql_config ];then echo "mysql_config=$v_mysql_config" >>/usr/local/MySQLdb1-master/site.cfg cd - >/dev/null 2>&1 cd /usr/local/MySQLdb1-master/ python setup.py build >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 python setup.py install >>$log_file 2>&1;[ $? -ne 0 ] &&r_flag=1 else r_flag=1 fi cd - >/dev/null 2>&1 if [ $r_flag -eq 0 ];then DO_SUCC_LOG "Finished prepare python environment successfully " else DO_ERR_LOG "Finished prepare python environment unsuccessfully " exit 1 fi return $r_flag}prepare_mysql_env(){ declare r_flag=0 DO_LOG "start prepare mysql environment ... " id mysql >/dev/null 2>&1 if [ $? -ne 0 ];then useradd mysql fi if [ -f /sys/kernel/mm/transparent_hugepage/enabled ];then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi echo "if [ -f /sys/kernel/mm/transparent_hugepage/enabled ];then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi">>/etc/rc.local tar -zxvf mysql-lepus-151030.tar.gz -C $install_dir >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 sed -i "s+^basedir.*$+basedir=$install_dir\/mysql+" $install_dir/mysql/data/my.cnf >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 sed -i "s+^datadir.*$+datadir=$install_dir\/mysql\/data+" $install_dir/mysql/data/my.cnf >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 chown mysql.mysql -R $install_dir/mysql >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 rm -f /etc/init.d/mysql_lepus >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 cp $install_dir/mysql/support-files/mysql.server /etc/init.d/mysql_lepus >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 sed -i "45,48s+^basedir=.*$+basedir=$install_dir\/mysql+" /etc/init.d/mysql_lepus >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 sed -i "45,48s+^datadir=.*$+datadir=$install_dir\/mysql\/data+" /etc/init.d/mysql_lepus >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$install_dir/mysql/lib" >>/root/.bash_profile LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$install_dir/mysql/lib export LD_LIBRARY_PATH chmod +x /etc/init.d/mysql_lepus >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 /etc/init.d/mysql_lepus start;[ $? -ne 0 ] &&r_flag=1 if [ $r_flag -eq 0 ];then DO_SUCC_LOG "Finished prepare mysql environment successfully " else DO_ERR_LOG "Finished prepare mysql environment unsuccessfully " exit 1 fi return $r_flag }install_lepus(){ declare r_flag=0 DO_LOG "start install lepus ... " tar -zxvf lepus-python-151030.tar.gz -C $install_dir >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 chmod +x $install_dir/lepus/lepus* rm -f /usr/local/sbin/lepus ln -s $install_dir/lepus/lepus /usr/local/sbin/ rm -f /usr/local/sbin/lepus_monitor ln -s $install_dir/lepus/lepus_monitor /usr/local/sbin/ rm -f /etc/init.d/lepus ln -s $install_dir/lepus/lepus /etc/init.d/ /sbin/chkconfig --level 2345 lepus on $install_dir/lepus/lepus start;[ $? -ne 0 ] &&r_flag=1 rm -rf /var/www/html/lepus tar -zxvf lepus-php-151030.tar.gz -C /var/www/html/ >/dev/null 2>&1;[ $? -ne 0 ] &&r_flag=1 if [ $r_flag -eq 0 ];then DO_SUCC_LOG "Finished install lepus successfully " else DO_ERR_LOG "Finished install lepus unsuccessfully " exit 1 fi return $r_flag}rm -f $log_filecheck_envdown_selinux_iptablesprepare_gcc_envprepare_snmpd_envprepare_httpd_envprepare_php_envprepare_mysql_envprepare_python_envinstall_lepus
安装测试
浏览器访问
需要说明的,我的安装脚本同目录的有自己定制化好了python后台监控tar包,和前台php包,还有已经初始化好数据的mysql包,以及需要的一个os包。
0 0
- lepus 一键安装脚本
- LInux 安装lepus监控系统
- 一键安装脚本
- 天兔(Lepus)监控系统快速安装部署
- 天兔(Lepus)监控操作系统(OS)安装配置
- 天兔(Lepus)监控邮件推送安装配置
- lepus(天兔安装教程)
- memcacheq一键安装脚本
- LAMP一键安装脚本
- apache一键安装脚本
- PPTP 一键安装脚本
- 一键安装Maven脚本
- zabbix一键安装脚本
- 一键安装ssr脚本
- zabbix一键安装脚本
- ShadowsocksR一键安装脚本
- Shadowsocks 一键安装脚本
- ShadowsocksR一键安装脚本
- tomcat结合nginx使用小结
- 相对虚拟地址,虚拟地址,文件偏移地址
- ruby 学习日志1
- 面试题:关于Objective-C中的回调机制
- Android-获取View 的坐标和屏幕高度、状态栏高度、标题栏高度
- lepus 一键安装脚本
- VC强名称工具Sn.exe使用
- 省赛模拟 水题 挑战密室
- xib This file is set to build for a version older than the project deployment target解决方法
- 加密芯片提升消费电子产品设备的安全性能
- 黑马程序员------50道JAVA基础编程练习题
- 多线程
- 小熊学习总结:ubuntu 10.04下的配置tftp服务器
- 重装笔记本系统,WiFi标志不亮,连接不了WIFI