Last active
September 24, 2024 10:59
Revisions
-
SeonghoonKim revised this gist
Apr 15, 2013 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,7 +13,7 @@ server="localhost" port="80" manager="balancer-manager" while getopts "s:p:m:" opt; do case "$opt" in s) server=$OPTARG -
SeonghoonKim created this gist
Apr 15, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,132 @@ #! /bin/sh # Set up a default search path PATH="/usr/bin:/bin" CURL=`which curl` if [ -z "$CURL" ]; then echo "curl not found" exit 1 fi server="localhost" port="80" manager="balancer-manager" while getopts "s:p:b:" opt; do case "$opt" in s) server=$OPTARG ;; p) port=$OPTARG ;; m) manager=$OPTARG ;; esac done shift $(($OPTIND - 1)) action=$1 list_balancers() { $CURL -s "http://${server}:${port}/${manager}" | grep "balancer://" | sed "s/.*balancer:\/\/\(.*\)<\/a>.*/\1/" } list_workers() { balancer=$1 if [ -z "$balancer" ]; then echo "Usage: $0 [-s host] [-p port] [-m balancer-manager] list-workers balancer_name" echo " balancer_name : balancer name" exit 1 fi $CURL -s "http://${server}:${port}/${manager}" | grep "/balancer-manager?b=${balancer}&w" | sed "s/.*href='\(.[^']*\).*/\1/" | sed "s/.*w=\(.*\)&.*/\1/" } enable() { balancer=$1 worker=$2 if [ -z "$balancer" ] || [ -z "$worker" ]; then echo "Usage: $0 [-s host] [-p port] [-m balancer-manager] enable balancer_name worker_route" echo " balancer_name : balancer/cluster name" echo " worker_route : worker route e.g.) ajp://192.1.2.3:8009" exit 1 fi nonce=`$CURL -s "http://${server}:${port}/${manager}" | grep nonce | grep "${balancer}" | sed "s/.*nonce=\(.*\)['\"].*/\1/" | tail -n 1` if [ -z "$nonce" ]; then echo "balancer_name ($balancer) not found" exit 1 fi echo "Enabling $2 of $1..." # Apache 2.2.x #$CURL -s -o /dev/null -XPOST "http://${server}:${port}/${manager}?" -d b="${balancer}" -d w="${worker}" -d nonce="${nonce}" -d dw=Enable $CURL -s -o /dev/null -XPOST "http://${server}:${port}/${manager}?" -d b="${balancer}" -d w="${worker}" -d nonce="${nonce}" -d w_status_D=0 sleep 2 status } disable() { balancer=$1 worker=$2 if [ -z "$balancer" ] || [ -z "$worker" ]; then echo "Usage: $0 [-s host] [-p port] [-m balancer-manager] disable balancer_name worker_route" echo " balancer_name : balancer/cluster name" echo " worker_route : worker route e.g.) ajp://192.1.2.3:8009" exit 1 fi echo "Disabling $2 of $1..." nonce=`$CURL -s "http://${server}:${port}/${manager}" | grep nonce | grep "${balancer}" | sed "s/.*nonce=\(.*\)['\"].*/\1/" | tail -n 1` if [ -z "$nonce" ]; then echo "balancer_name ($balancer) not found" exit 1 fi # Apache 2.2.x #$CURL -s -o /dev/null -XPOST "http://${server}:${port}/${manager}?" -d b="${balancer}" -d w="${worker}" -d nonce="${nonce}" -d dw=Disable $CURL -s -o /dev/null -XPOST "http://${server}:${port}/${manager}?" -d b="${balancer}" -d w="${worker}" -d nonce="${nonce}" -d w_status_D=1 sleep 2 status } status() { $CURL -s "http://${server}:${port}/${manager}" | grep "href" | sed "s/<[^>]*>/ /g" } case "$1" in list-balancer) list_balancers "${@:2}" ;; list-worker) list_workers "${@:2}" ;; enable) enable "${@:2}" ;; disable) disable "${@:2}" ;; status) status "${@:2}" ;; *) echo "Usage: $0 {list-balancer|list-worker|enable|disable|status}" echo "" echo "Options: " echo " -s server" echo " -p port" echo " -m balancer-manager-context-path" echo "" echo "Commands: " echo " list-balancer" echo " list-worker balancer-name" echo " enable balancer_name worker_route" echo " disable balancer_name worker_route" exit 1 esac exit $?