歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> bash 腳本編程二十 GlassFishV3自動部署

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

日期:2017/3/1 10:09:16   编辑:Linux編程

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

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

准備好glassfish腳本:

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

最後看一下install.sh

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

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

最後給出目錄結構:

$ tree -L 1
.
├── glassfish
├── glassfish3
└── install.sh

1 directory, 2 files
chenshu@sloop2:~/work/1

Copyright © Linux教程網 All Rights Reserved