Today I come to you with a fun script I wrote to manipulate applications in WebLogic.
Using the weblogic.Deployer class in the WebLogic JAR we are able to Automate and Simplify some of the more mundane tasks that we all have to do in WebLogic sometimes.
For the savvy, please refer to the “prerequisites()” function and uncomment/comment whatever things you want the user to enter for proper security and portability.
Gotta love that dumb generic 1/2/3/4/5 menu interface I keep using.

Below is the code:
#!/bin/bash #These Variables are here purely for initialization #and are overwritten when the prerequisites() #function is called down at bottom of script USERNAME="" PASSWORD="" ADMIN_URL="" #the url for deployment JAVA_PATH="/usr/java/latest/bin/java" #path to java WEBLOGIC_JAR="" #my weblogic server path TARGET="" #values can be seperated APPLICATION_NAME="" #the deployment name APPLICATION_PATH="" #the path to the ear file WEBLOGIC_DEPLOYER_CMD="$JAVA_PATH -cp $WEBLOGIC_JAR weblogic.Deployer -verbose -debug -adminurl "$ADMIN_URL" -username $USERNAME -password $PASSWORD " prerequisites() { #In this command you can uncomment/comment variable declarations you want the user to enter every time echo "Type The Application Name: " read APPLICATION_NAME #echo "Type The Target JVM Servers (Space Between Each JVM Name): " #read TARGETS TARGETS="AdminServer" #echo "Type WebLogic Admin Username: " #read USERNAME USERNAME="weblogic" #echo "Type WebLogic Admin Password: " #read PASSWORD PASSWORD="password1" #echo "Type AdminServer Protocol (t3 - not secure) or (t3s - secure): " #read ADMIN_PROTOCOL ADMIN_PROTOCOL="t3" #echo "Type AdminServer Hostname: " #read ADMIN_HOSTNAME ADMIN_HOSTNAME="localhost" #echo "Type AdminServer Port: " #read ADMIN_PORT ADMIN_PORT="8080" #This Sets the ADMIN_URL for WebLogic Connection ADMIN_URL="$ADMIN_PROTOCOL://$ADMIN_HOSTNAME:$ADMIN_PORT" #echo "Type the path to the Java Binary: " #read JAVA_PATH JAVA_PATH="/usr/java/latest/bin/java" #echo "Type the path to the WebLogic JAR: " #read WEBLOGIC_JAR WEBLOGIC_JAR="/home/oracle/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.jar" #This Sets the Command for Application Manipulation Later On WEBLOGIC_DEPLOYER_CMD="$JAVA_PATH -cp $WEBLOGIC_JAR weblogic.Deployer -verbose -debug -adminurl "$ADMIN_URL" -username $USERNAME -password $PASSWORD " choiceFunction } baseCommand() { CHOSEN_OPTION="$1" EXTRA_ARGS="$2" $WEBLOGIC_DEPLOYER_CMD $CHOSEN_OPTION -name "$APPLICATION_NAME" -targets "$TARGETS" $CHOSEN_OPTION $EXTRA_ARGS echo "FINISHED EXECUTION - PRESS ENTER TO CONTINUE..." read NOTHING choiceFunction } application_start() { PARAMETER_CHOSEN_OPTION="-start" PARAMETER_EXTRA_ARGS="" baseCommand "$PARAMETER_CHOSEN_OPTION" "$PARAMETER_EXTRA_ARGS" } application_stop() { PARAMETER_CHOSEN_OPTION="-stop" PARAMETER_EXTRA_ARGS="" baseCommand "$PARAMETER_CHOSEN_OPTION" "$PARAMETER_EXTRA_ARGS" } application_undeploy() { PARAMETER_CHOSEN_OPTION="-undeploy" PARAMETER_EXTRA_ARGS="" baseCommand "$PARAMETER_CHOSEN_OPTION" "$PARAMETER_EXTRA_ARGS" } application_deploy() { PARAMETER_CHOSEN_OPTION="-deploy" echo "Type Full Java WAR/EAR Path: " read APPLICATION_PATH PARAMETER_EXTRA_ARGS="-upload $APPLICATION_PATH" baseCommand "$PARAMETER_CHOSEN_OPTION" "$PARAMETER_EXTRA_ARGS" } # Bash Menu Script Example choiceFunction() { SUCCESS="false" while [ $SUCCESS == "false" ] do clear echo "Please enter your choice: " echo "1 - Start WebLogic Application" echo "2 - Stop WebLogic Application" echo "3 - Undeploy WebLogic Application (Stop Application First Please)" echo "4 - Deploy WebLogic Application" echo "5 - Quit" read CHOICE case $CHOICE in "1") SUCCESS="true";echo "Executing Application Start ..."; application_start;; "2") SUCCESS="true";echo "Executing Application Stop ..."; application_stop;; "3") SUCCESS="true";echo "Executing Application Un-Deployment (Removal) ..."; application_undeploy;; "4") SUCCESS="true";echo "Executing Application Deployment ..."; application_deploy;; "5") SUCCESS="true";echo "Exiting ..."; exit;; *) read -p "Invalid choice, Press any key to continue..." fakeVariableIgnoreMe;; esac done } prerequisites