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}
准备好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
- bash 脚本编程二十 GlassFishV3自动部署
- bash 脚本编程二十一 MongoDB自动部署
- bash 脚本编程十一 JDK自动部署
- bash 脚本编程十四 maven自动部署
- bash 脚本编程十五 MySQL自动部署
- bash 脚本编程十八 Keepalived自动部署
- bash 脚本编程十九 Nginx自动部署
- bash 脚本编程十一 JDK自动部署
- bash 脚本编程十六 NFS server自动部署
- bash 脚本编程十七 NFS client自动部署
- bash 脚本编程二 单双引号
- Bash脚本编程 (二):Bash Shell的退出状态
- bash 脚本编程十 将函数放在库文件
- 二十、shell脚本编程-1
- BASH脚本编程
- BASH脚本编程
- Bash脚本编程基础
- bash 脚本编程
- 又见一帘幽梦
- 1. 基于IntelVt技术的Linux内核调试器- 引言与IntelVT-x 技术简介
- openssl安装配置
- POJ 3834 Graph Game 博弈 dfs+并查集剪枝
- 用C与脚本的混合编程来处理配置文件
- bash 脚本编程二十 GlassFishV3自动部署
- Core Data 编程指南
- Redhat linux 双显示器设置( dual monitor )
- Codeforces Round #139 (Div. 2)
- Box2D 像素(pixels)
- 嵌入式系统设计中常用总线和接口
- c++ 自定义 lock
- 如何在PL/SQL下调试
- 连续乘积最大值