前几天分别写了mysql/apache/php自动安装脚本,但那仅限于单个安装;这两天寻思着整个脚本,根据实际需要调用之前的三个脚本,比如只要安装mysql就只调用install_mysql.脚本,如果要安装apache+php就分别调用install_apache.sh及install_php.sh脚本

本脚本在centos5.7 x86_64下测试通过

下面是脚本的具体内容:

使用方法举例:bash install_lamp.sh mysql-5.5.19.tar.gz apache-5.3.7.tar.bz2

很简单的实现,热烈欢迎大家拍砖

 

#!/bin/bash

#FileName:install_lamp.sh

#Desc:invoke some scripts to intall mysql,apache,php

#Created By:xiaozhenggang(fedoracle)

#Date:2012/03/12

#Version:1.0

 

if [ $UID -ne 0 ];then

    echo -e "\033[31m This script must be execute by user root!"

    exit 1

fi

 

 

if [ $# -eq 1 ];then

   PKG_VERSION=$1

   PKG_NAME=`echo ${PKG_VERSION%%-*}`

   case $PKG_NAME in

   "mysql")

      bash install_mysql.sh $PKG_VERSION

   ;;

   "httpd")

      bash install_apache.sh $PKG_VERSION

   ;;

   "php")

      bash install_php.sh $PKG_VERSION

   ;;

   *)

      echo -e "\033[31m Package not matched!\nPlease enter full name of the package \nwhich you'll install such as :mysql-5.5.19.tar.gz \033[0m"

      exit 4

   ;;

   esac

 

elif [ $# -eq 2 ];then

   for PACKAGE in $1 $2

   do

      PKG_VERSION=$PACKAGE

      PKG_NAME=`echo ${PACKAGE%%-*}`

      case $PKG_NAME in

         "httpd")

            bash install_apache.sh $PKG_VERSION

         ;;

         "php")

            bash install_php.sh $PKG_VERSION

         ;;

         *)

            echo -e "\033[31m Package not matched!\nPlease enter full name for the package \nwhich you'll install such as:httpd-2.2.21.tar.gz \033[0m"

            exit 3

      esac

   done

 

elif [ $# -eq 3 ];then

   for PACKAGE in $1 $2 $3

   do

      PKG_VERSION=$PACKAGE

      PKG_NAME=`echo ${PACKAGE%%-*}`

 

      case $PKG_NAME in

         "mysql")

            bash install_mysql.sh $PKG_VERSION

         ;;

         "httpd")

            bash install_apache.sh $PKG_VERSION

         ;;

         "php")

            bash install_php.sh $PKG_VERSION

         ;;

         *)

            echo -e "\033[31m Package not matched!\nPlease enter full name for the package \nwhich you'll install such as:php-5.3.7.tar.gz \033[0m"

            exit 2

         ;;

      esac

   done

 

else

   echo -e "\033[31m Parameters enter error!Please make sure you have entired correctly!!! \033[0m"

   exit 1

fi