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

كتابة سكربت لمراقبة بدء وإيقاف خدمة weblogic في bash script على نظام Linux

有时,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
### END WLS Configration
######### Weblogic server start|stop|restart|status
# يستخدم لانتظار بدء وإيقاف عملية
wait_for_pid () 
{
  try=0
    case "$1" in
      'created')
        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}'`            
        إذا كان [ "$WLS_PID" != "" ] ; then
          try=''                         
        fi
      ;;
      'removed')
        while test $try -lt 35 ; do  
        WLS_PID=`ps -ef|grep java|grep ${SERVER_NAME}|awk '{print $2}'`
        إذا كان "${WLS_PID}" = "" ; then
          try=''
        break
        fi
        printf .
        try=`expr $try + 1`
        sleep 1
        done
      ;;
    esac
}
# تحديد اسم المستخدم للعمل، لا يمكن أن يكون root يجب استخدام مستخدم weblogic
إذا كان [ "$USER_NAME" = "root" ] ; then
  echo "USER_NAME هو $USER_NAME! من فضلك استخدم مستخدم weblogic!"
  exit 1
fi
# النطاق لا يمكن أن يكون فارغًا
إذا كان [ "$DOMAIN_NAME" = "" ] ; then
  echo "DOMAIN_NAME غير معين! من فضلك قم بتعيين DOMAIN_NAME!"
  exit 1
fi
# الخدمة لا يمكن أن تكون فارغة
إذا كان [ "$SERVER_NAME" = "" ] ; then
  echo "SERVER_NAME غير معين! من فضلك قم بتعيين SERVER_NAME!"
  exit 1
fi
# url لا يمكن أن تكون فارغة
إذا كان [ "$ADMIN_URL" = "" ] ; then
  echo "ADMIN_URL غير معين! يستخدم ADMIN_URL الافتراضي!"
fi
# إذا كان الأمر عرض الحالة       
إذا كان [ "$1" = "status" ]
  then        
  إذا كان "${WLS_PID}" = "" ; then
   echo "لا يوجد pid - $SERVER_NAME يعمل !"
    exit 1
 else 
  echo "$SERVER_NAME يعمل !"
  exit 0
 fi
fi
printf "إيقاف $SERVER_NAME "
  إذا كان "${WLS_PID}" = "" ; then
    echo "لا يوجد pid - $SERVER_NAME يعمل !"
  else          
    kill -9 $WLS_PID
  wait_for_pid removed 
  if [ -n "$try" ] ; then
  echo "failed"
  exit 1         
  fi
    echo "done!"
    exit 0
 fi
# إذا كان الأمر التوقف، لا يستخدم هذا        
إذا كان [ "$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"

ما ذكرته أعلاه هو كتابة سكربت bash لمراقبة بدء وتوقف خدمة WebLogic، آمل أن يكون هذا مفيدًا لكم، إذا كان لديكم أي استفسارات، فالرجاء ترك تعليق، وسأقوم بالرد على رسائلكم في أقرب وقت ممكن!

إقرار: محتوى هذا المقال تم جمعه من الإنترنت، يحق للمالك الأصلي الحصول عليه، تم جمع المحتوى من قبل المستخدمين عبر الإنترنت الذين قاموا بتحميله، هذا الموقع لا يمتلك حقوق الملكية، لم يتم تعديل المحتوى بشكل يدوي، ولا يتحمل الموقع أي مسؤولية قانونية تتعلق بذلك. إذا كنت قد وجدت محتوى يشتبه في انتهاك حقوق النسخ، فالرجاء إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # ب @) لإبلاغنا، يرجى تقديم الأدلة ذات الصلة، وسيتم حذف المحتوى المزعوم عن انتهاك حقوق النسخ فور التحقق منه.

أعجبك ذلك