歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

bash 腳本編程二十 GlassFishV3自動部署

1.先點擊這裡下載最新版本的glassfish。

解壓後放到工程目錄下。

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

注意config/asenv.conf文件中添加jdk路徑,防止JSP報錯。

AS_JAVA=/usr/jdk1.6 

2.現在需要幾個函數幫助檢查用戶和組,並能夠創建系統用戶及其目錄,創建用戶組,

因此在tool.sh中添加了四個函數:

  1. #$1 user name  
  2. #return 1 if exists  
  3. #return 0 if doesn't exist  
  4. function haSUSEr {  
  5.     h=`grep "$1" /etc/passwd`  
  6.     echo "h: $h"  
  7.     if [ -n "$h" ]  
  8.     then  
  9.     return 1  
  10.     else  
  11.     return 0  
  12.     fi  
  13. }  
  14.   
  15. #$1 user group name  
  16. #return 1 if exists  
  17. #return 0 if doesn't exist  
  18. function hasUserGroup {  
  19.     h=`grep "$1" /etc/group`  
  20.     echo "h: $h"  
  21.     if [ -n "$h" ]  
  22.     then  
  23.     return 1  
  24.     else  
  25.     return 0  
  26.     fi  
  27. }  
  1. #remove user and home folder  
  2. #then create then again  
  3. function recreateSystemUserAndFolder {  
  4.     hasUser $1  
  5.     r=$?  
  6.       
  7.     if [ $r -eq 1 ]  
  8.     then  
  9.     echo "$1 exits already,remove it..."  
  10.     userdel -r $1  
  11.     else  
  12.     echo "$1 doesn't exist,create it..."  
  13.     fi  
  14.     adduser --home /home/$1 --system --shell /bin/bash $1    
  15. }  
  16.   
  17. #remove user group   
  18. #then create it again  
  19. function recreateUserGroup {  
  20.     hasUserGroup $1  
  21.     r=$?  
  22.     if [ $r -eq 1 ]  
  23.     then  
  24.     echo "$1 exists already, remove it..."  
  25.     delgroup $1  
  26.     else  
  27.     echo "$1 doesn't exist, create it..."  
  28.     fi  
  29.     groupadd $1  
  30. }  

3.現在創建系統服務吧。

准備好glassfish腳本:

  1. export AS_JAVA=/usr/jdk1.6  
  2.    
  3. GLASSFISHPATH=/home/glassfish/bin  
  4.    
  5. case "$1" in  
  6. start)  
  7. echo "starting glassfish from $GLASSFISHPATH"  
  8. sudo -u glassfish $GLASSFISHPATH/asadmin start-domain domain1  
  9. ;;  
  10. restart)  
  11. $0 stop  
  12. $0 start  
  13. ;;  
  14. stop)  
  15. echo "stopping glassfish from $GLASSFISHPATH"  
  16. sudo -u glassfish $GLASSFISHPATH/asadmin stop-domain domain1  
  17. ;;  
  18. *)  
  19. echo $"usage: $0 {start|stop|restart}"  
  20. exit 3  
  21. ;;  
  22. esac  
  23. :  

最後看一下install.sh

  1. #!/bin/bash   
  2.   
  3. source ../common/tool.sh  
  4.   
  5. glassfishUser="glassfish"  
  6. glassfishGroup="glassfishadm"  
  7.   
  8.   
  9. recreateSystemUserAndFolder $glassfishUser  
  10.   
  11. recreateUserGroup $glassfishGroup  
  12.   
  13. usermod -a -G $glassfishGroup $glassfishUser  
  14.   
  15. chgrp -R $glassfishGroup /home/$glassfishUser  
  16.   
  17. cp -r ./glassfish3/* /home/$glassfishUser/  
  18. cp -r ./glassfish3/.org.opensolaris,pkg /home/$glassfishUser/.org.opensolaris,pkg  
  19.   
  20. chown -R $glassfishUser /home/$glassfishUser  
  21. chmod -R ug+rwx /home/$glassfishUser/bin/  
  22. chmod -R ug+rwx /home/$glassfishUser/glassfish/bin/  
  23. chmod -R o-rwx /home/$glassfishUser/bin/  
  24. chmod -R o-rwx /home/$glassfishUser/glassfish/bin/  
  25.   
  26. cp ./glassfish /etc/init.d/  
  27. update-rc.d glassfish defaults  
  28.   
  29. service glassfish start  

每次都會先刪除已存在的用戶和組,以及目錄。

最後給出目錄結構:

$ tree -L 1 

├── glassfish 
├── glassfish3 
└── install.sh 
 
1 directory, 2 files 
chenshu@sloop2:~/work/1 

 

 

 

 

 

 

 

Copyright © Linux教程網 All Rights Reserved