//判斷文件是否存在
if [ ! -e medical.tar.gz ] ;then
echo "I cann't find medical.tar.gz file."
exit 0
else//存在則賦權並解壓
chmod 755 medical.tar.gz
tar zxvf medical.tar.gz
fi
################################### Verify #################################
//判斷本機是否安裝了jdkrpm -qa | grep jdkif [ "$?" == 0 ] ;then
echo "Already installed JDK, please uninstall!"
rollback;
exit 0
fi//判斷8080端口是否被佔用netstat -apn | grep 8080if [ "$?" == 0 ] ;then
echo "8080 port is occupied!"
rollback;
exit 0
fi//判斷本機是否安裝了mysqlrpm -qa | grep -i mysqlif [ "$?" == 0 ] ;then
echo "The system has been installed MySQL.Please run the uninstall!"
rollback;
exit 0
fi//判斷目錄是否已存在if [ -d /usr/tomcat-medical ] ;then java
echo "/usr/tomcat-medical Directory exists"
rollback;
exit 0
fi//判斷3306端口是否被佔用netstat -apn | grep 3306if [ "$?" == 0 ] ;then
echo "3306 port is occupied"
rollback;
exit 0
fi
##################################### JDK ################################
//賦權並安裝jdkchmod 755 jdk-6u29-linux-i586-rpm.bin mysql
./jdk-6u29-linux-i586-rpm.bin//安裝jdk的時候須要回車確認一下jdk的許可協議
#########################################################################
//rpm包的jdk安裝完成會自動生成 java/jdk**** 的文件夾,判斷是否生成了jdk文件夾if [ ! -d java/jdk1.6* ] ;then
echo "I cann't find JDK directory."
rollback;
exit 0
fi
############################## Environment Variables #########################
#########################################################################
//判斷環境變量是否已經生效java -versionif [ "$?" != 0 ] ;then
echo "I cann't set java path."
rollback;
exit 0
fi
####################### Delete JDK Installation file #############################
rm -rf jdk-6u29-linux-i586.rpmrm -rf sun-javadb*
################################# MySQL ##################################
//賦權並安裝mysqlchmod 755 MySQL-server-5.5.31-2.rhel5.i386.rpmrpm -ivh MySQL-server-5.5.31-2.rhel5.i386.rpm
################### Copy MySQL configuration file ##############################
//將一份已經準備好的配置文件替換mysql現有配置文件chmod 755 mysql.cnfcp mysql.cnf /usr/share/mysql/my-medium.cnfcp mysql.cnf /etc/my.cnf//啓動或重啓mysqlnetstat -apn | grep 3306if [ "$?" != 0 ] ;thenservice mysql startelseservice mysql restartfi//判斷mysql是否啓動成功netstat -apn | grep 3306if [ "$?" != 0 ] ;thenecho "MySQL service failed to start!"rollback;exit 0fi//安裝mysql用戶端chmod 755 MySQL-client-5.5.31-2.rhel5.i386.rpmrpm -ivh MySQL-client-5.5.31-2.rhel5.i386.rpm
################################ Tomcat ##################################
//賦權並解壓tomcatchmod 755 apache-tomcat*.tar*tar zxvf apache-tomcat*.tar*mv apache-tomcat-6.0.32/ /usr/tomcat-medical/
################################ Medical ##################################
//賦權並解壓應用到tomcat/webapps目錄下chmod 755 medical.zipunzip medical.zip -d /usr/tomcat-medical/webapps///判斷當前目錄下是否存在Install.zdt文件,存在則copy文件到指定目錄下if [ -e Install.zdt ] ;thencp Install.zdt /usr/tomcat-medical/webapps/medical/WEB-INF/data/installer/fi
########################### Change Password ################################
//等待5秒sleep 5//mysql默認密碼爲空,修改mysql密碼(須要當前用戶有mysql執行權限)mysqladmin flush-privileges password '******'
########################## Environment Variables #############################
cat >> /etc/profile << TTD linux
TOMCAT_HOME=/usr/tomcat-medical/ web
PATH=\$PATH:\$TOMCAT_HOME/bin/:/usr/local/apache2/bin: sql
export JAVA_HOME JRE_HOME CLASSPATH PATH TOMCAT_HOME apache
TTD tomcat
source /etc/profile
#########################################################################
//啓動tomcatsh /usr/tomcat-medical/bin/startup.sh//這裏延遲5秒等待tomcat啓動完成sleep 5//判斷tomcat狀態curl 127.0.0.1:8080 | grep "Thanks for using Tomcat"if [ "$?" != 0 ] ;thenecho "I think install tomcat is unfinished ."rollback;exit 0firollback;
######################## Auto Start Up Services ###############################
//把tomcat啓動腳本加入rc.local文件中實現開機自動啓動cat >> /etc/rc.local << ASU/usr/tomcat-medical/bin/startup.shASU//設置mysql服務開機自動啓動chkconfig --add mysql
########################################################################
echo "Uninstalling Tomcat......"netstat -apn | grep 8080if [ "$?" == 0 ] ;thensh /usr/tomcat-medical/bin/shutdown.shfirm -rf /usr/tomcat-medical/echo "Uninstalling JDK......"rpm -e jdk-1.6.0_29-fcs.i586echo "Uninstalling MySQL......"netstat -apn | grep 3306if [ "$?" == 0 ] ;thenservice mysql stopfirpm -e MySQL-client-5.5.31-2.rhel5.i386rpm -e MySQL-server-5.5.31-2.rhel5.i386echo "Uninstall is complete please modify environment variables."
echo "You can only enter 1 or 0."