文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>鼠标click一下,就按需安装应用

鼠标click一下,就按需安装应用

时间:2010-09-13  来源:skybin090804

    今天早上回到公司就发现电脑坏,在同事的机器上写了个东西,通过页面点击按钮进行squid、nginx、
memcache、resin、jdk等安装。并可以进行批量安装。

    构造的架构是:
   

已安装Resin为例:
    页面上显示如下:
   

我们只需要在这里选择所需操作的机器,然后选择安装的版本和安装目录、应用名字就ok了。

页面会把指令发送到数据采集、控制中心端;这个Server就会进行分发到各台机器上。

在各台服务器或路由或交换机上接受到指令就进行操作,这里是服务器端接收到安装resin的指令,就调用系统上的相关命令进行操作;(/data/agent/command/install_Resin.sh )这个命令脚本也是按需进行分发。

agent可以选择python perl c等语言进行架构监听端口。

安装脚本简单为:

#!/bin/bash
#edit by sky
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
LANG=zh_CN.GB18030
export PATH
export LANG


Resin_pro318="http://192.168.1/resin/resin-pro-3.1.8.with_license_oracle_drv_std-conf.tar.gz"

JDKURL="http://192.168.1/jdk/"

APPNAME=`/usr/bin/curl http://192.168.1/appname.log 2> /dev/null`

VERSION=$1

JDKVERSION=`/usr/bin/curl http://192.168.1/jdk/jdk.log 2> /dev/null`
Resin_JDK="jdk1.6.0_06"

function wgetResin(){
   wget $1 -O /data/$VERSION.tar.gz 2> /dev/null
}

function wgetJDK(){
   wget $JDKURL$1 -O /usr/java/$1 2> /dev/null
}

function installResin(){
   cd /data
   tar -zxf /data/$VERSION.tar.gz
   mv /data/$VERSION /data/$VERSION"_"$APPNAME
   cd $VERSION"_"$APPNAME
   chmod +x /data/$VERSION"_"$APPNAME/INSTALL.resin
   result=`/data/$VERSION"_"$APPNAME/INSTALL.resin /usr/java/$1 2> /dev/null | tail -1`
   if  echo $result | grep -q "successfully" 
   then
      echo "0"
   else
      echo "1"
   fi
  
  
}

function installJDK(){
  cd /usr/java
  wgetJDK $JDKVERSION
  chmod +x $JDKVERSION
  tar -zxf $JDKVERSION
  rm -f $JDKVERSION
}



case $1 in
resin-pro-3.1.8)
    echo $1
    if echo $JDKVERSION | grep -q "jdk"
      then
      installTAP="no"
      case $JDKVERSION in
        jdk1.6.0_06*)
            Resin_JDK="jdk1.6.0_06"
        ;;
        jdk1.6.0_18*)
            Resin_JDK="jdk1.6.0_18"
        ;;
      esac
      if ls -l /usr/java | grep -q $Resin_JDK
      then
          installTAP="yes"
      else
          installTAP="no"
      fi
      if [[ $installTAP == "no" ]] ;  then
         installJDK $JDKVERSION
      fi
    fi
    getJDK=`echo $JDKVERSION | sed 's#.tar.gz##g'`
    wgetResin $Resin_pro318
    installResin $getJDK
;;
resin-3.1.8)
    echo $1
;;
resin-pro-3.1.6)
    echo $1
;;
resin-pro-3.1.4)
    echo $1
;;
resin-pro-3.0.14)
    echo $1
;;
*)
    echo "resin-pro-3.1.8"
;;
esac


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载