English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

linux bashスクリプトでweblogicサービスの起動・停止を監視するスクリプトの作成方法

有时,linux系统需要做HA或者类似的功能,需要配置weblogic脚本来启动,停止,查看状态,可以如下方式写

命令形式:Weblogic server start|stop|restart|status

### BEGIN WLS Configration
DOMAIN_NAME=base_domain
SERVER_NAME=AServer 
ADMIN_URL="t3://ip:7001"
DOMAIN_PATH=/Oracle/Middleware/user_projects/domains/${DOMAIN_NAME}
#使用这个命令得到weblogic对应服务进程的进程号
WLS_PID=`ps -ef|grep java|grep =${SERVER_NAME}|awk '{print $2}'`
#USER_NAME=`logname`
USER_NAME=`whoami`
## WLS_MEMORY
USER_MEM_ARGS="-Xms2048m -Xmx3096m -XX:PermSize=256m -XX:MaxPermSize=512m""}
export USER_MEM_ARGS
### WLS 設定終了
######### Weblogic server start|stop|restart|status
#プロセスの起動・停止を待つための関数
wait_for_pid () 
{
  try=0
    case "$1in
      "
        while test $try -lt 7 ; do
        printf .
        try=`expr $try + 1`
        sleep 1
        done            
        WLS_PID=`ps -ef|grep java|grep ${SERVER_NAME}|awk '{print $2}'`            
        if [ "$WLS_PID" != "" ] ; then
          try=''                         
        fi
      ;;
      "
        while test $try -lt 35 ; do  
        WLS_PID=`ps -ef|grep java|grep ${SERVER_NAME}|awk '{print $2}'`
        if [ "${WLS_PID}" = "" ] ; then
          try=''
        break
        fi
        printf .
        try=`expr $try + 1`
        sleep 1
        done
      ;;
    esac
}
#操作ユーザー名の確認、rootではできません。weblogicユーザーを使用してください
if [ "$USER_NAME" = "root" ] ; then
  echo "USER_NAME is $USER_NAME! Plz use weblogic!"
  exit 1
fi
#ドメインが空にできません
if [ "$DOMAIN_NAME" = "" ] ; then
  echo "DOMAIN_NAME が設定されていません!DOMAIN_NAME を設定してください!"
  exit 1
fi
#サービスが空にできません
if [ "$SERVER_NAME" = "" ] ; then
  echo "SERVER_NAME が設定されていません!SERVER_NAME を設定してください!"
  exit 1
fi
#URLは空にできません
if [ "$ADMIN_URL" = "" ] ; then
  echo "ADMIN_URL が設定されていません!デフォルトの ADMIN_URL を使用しています!"
fi
#ステータスを確認するコマンド       
if [ "$1" = "status" ]
  then        
  if [ "${WLS_PID}" = "" ] ; then
   echo "No pid" - "$SERVER_NAME は実行されていません !"
    exit 1
 else 
  echo "$SERVER_NAME is running !"
  exit 0
 fi
fi
printf "Terminating $SERVER_NAME "
  if [ "${WLS_PID}" = "" ] ; then
    echo "No pid" - "$SERVER_NAME は実行されていません !"
  else          
    殺す -9 $WLS_PID
  wait_for_pid removed 
  if [ -n "$try" ] ; then
  echo " failed "
  exit 1         
  fi
    echo " done ! "
    exit 0
 fi
#停止コマンドの場合、ここではこのスクリプトを使用しません        
if [ "$1" = "stop" ]
then        
echo ""
else
#起動コマンド
printf "Starting $SERVER_NAME "
  if echo $SERVER_NAME|grep -q dmin ; then        
    nohup sh $DOMAIN_PATH/bin/startWebLogic.sh &
  else        
    nohup sh $DOMAIN_PATH/bin/startManagedWebLogic.sh $SERVER_NAME $ADMIN_URL &
  fi        
  wait_for_pid created 
  if [ -n "$try" ] ; then
    echo " failed "
    exit 1
  else
    echo " done ! "
    exit 0
  fi   
fi 
echo "ログを確認するには、以下を実行してください:"
echo "tail -100f "

以上は編集者が皆様に紹介したlinux bash スクリプトでweblogic サービスの起動と停止を監視するスクリプトの書き方です。皆様に役立つことを願っています。何かご不明な点がございましたら、コメントを残してください。編集者はすぐにご回答いたします。

声明:本文の内容はインターネットから収集され、著作権者に帰属します。コンテンツはインターネットユーザーによって自発的に貢献し、アップロードされました。本サイトは所有権を持ちません。また、人工編集も行われていません。著作権に問題があると感じる場合は、以下のメールアドレスにご連絡ください:notice#oldtoolbag.com(メールを送信する際には、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認がとれましたら、本サイトは即座に侵害が疑われるコンテンツを削除します。

おすすめ