bash 脚本编程二十 GlassFishV3自动部署

来源:互联网 发布:如何提高软件质量 编辑:程序博客网 时间:2024/06/05 14:43

我的手动安装版本请参考:http://blog.csdn.net/sheismylife/article/details/7649571


1.先下载最新版本的glassfish, 网址:http://glassfish.java.net/downloads/3.1.2.2-final.html

解压后放到工程目录下。

然后根据自己的需要修改glassfish/domains/domain1/config/domain.xml文件的配置。

注意config/asenv.conf文件中添加jdk路径,防止JSP报错。

AS_JAVA=/usr/jdk1.6


2.现在需要几个函数帮助检查用户和组,并能够创建系统用户及其目录,创建用户组,

因此在tool.sh中添加了四个函数:

#$1 user name#return 1 if exists#return 0 if doesn't existfunction hasUser {    h=`grep "$1" /etc/passwd`    echo "h: $h"    if [ -n "$h" ]    thenreturn 1    elsereturn 0    fi}#$1 user group name#return 1 if exists#return 0 if doesn't existfunction hasUserGroup {    h=`grep "$1" /etc/group`    echo "h: $h"    if [ -n "$h" ]    thenreturn 1    elsereturn 0    fi}


#remove user and home folder#then create then againfunction recreateSystemUserAndFolder {    hasUser $1    r=$?        if [ $r -eq 1 ]    thenecho "$1 exits already,remove it..."userdel -r $1    elseecho "$1 doesn't exist,create it..."    fi    adduser --home /home/$1 --system --shell /bin/bash $1  }#remove user group #then create it againfunction recreateUserGroup {    hasUserGroup $1    r=$?    if [ $r -eq 1 ]    thenecho "$1 exists already, remove it..."delgroup $1    elseecho "$1 doesn't exist, create it..."    fi    groupadd $1}



3.现在创建系统服务吧。

准备好glassfish脚本:

export AS_JAVA=/usr/jdk1.6 GLASSFISHPATH=/home/glassfish/bin case "$1" instart)echo "starting glassfish from $GLASSFISHPATH"sudo -u glassfish $GLASSFISHPATH/asadmin start-domain domain1;;restart)$0 stop$0 start;;stop)echo "stopping glassfish from $GLASSFISHPATH"sudo -u glassfish $GLASSFISHPATH/asadmin stop-domain domain1;;*)echo $"usage: $0 {start|stop|restart}"exit 3;;esac:

最后看一下install.sh

#!/bin/bash source ../common/tool.shglassfishUser="glassfish"glassfishGroup="glassfishadm"recreateSystemUserAndFolder $glassfishUserrecreateUserGroup $glassfishGroupusermod -a -G $glassfishGroup $glassfishUserchgrp -R $glassfishGroup /home/$glassfishUsercp -r ./glassfish3/* /home/$glassfishUser/cp -r ./glassfish3/.org.opensolaris,pkg /home/$glassfishUser/.org.opensolaris,pkgchown -R $glassfishUser /home/$glassfishUserchmod -R ug+rwx /home/$glassfishUser/bin/chmod -R ug+rwx /home/$glassfishUser/glassfish/bin/chmod -R o-rwx /home/$glassfishUser/bin/chmod -R o-rwx /home/$glassfishUser/glassfish/bin/cp ./glassfish /etc/init.d/update-rc.d glassfish defaultsservice glassfish start


每次都会先删除已存在的用户和组,以及目录。

最后给出目录结构:

$ tree -L 1.├── glassfish├── glassfish3└── install.sh1 directory, 2 fileschenshu@sloop2:~/work/1




原创粉丝点击