Skip to content

Instantly share code, notes, and snippets.

@vozlt
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vozlt/3637352e14eae64bab7f to your computer and use it in GitHub Desktop.
Save vozlt/3637352e14eae64bab7f to your computer and use it in GitHub Desktop.
Alteon L4 Configuration
#! /bin/bash
#
# @file: alteonl4add.sh
# @brief: Alteon L4 Configuration
# @author: YoungJoo.Kim <http://vozlt.com>
# @version:
# @date: 20060907
usage() {
echo "USAGE :"
echo " $0 [OPTION]... [REAL IP RANGE]..."
echo
echo "OPTION :"
echo " -c [start real server number] (default : 1)"
echo " -n [server name:start server counter] (default : none)"
echo " -w [weight] (default : 6)"
echo " -g [group of real ip] (default : none)"
echo
echo "EXAMPLE:"
echo " $0 -n web:1 10.10.10.11-43"
exit 1
}
# Start Real Server Number
rn=1
# Server Name
srv_n=
# Start Server Counter
srv_c=1
# Real IP Range
rip_=
# Weight
wt=6
OPTERR=0
while getopts "c:n:w:g:" Opt
do
case $Opt in
c) rn=$OPTARG;;
n) srv_n=${OPTARG%%:*}; srv_c=${OPTARG##*:};;
w) wt=$OPTARG;;
g) gn=$OPTARG;;
*) usage;;
esac
done
shift $(($OPTIND - 1))
[ $# -le 0 -o -n "$(printf "$1" | sed s/[0-9.-]//g)" ] && usage
[ -n "$(printf "$srv_c" | sed s/[0-9]//g)" ] && usage
rip_=$1
s=${rip_%%-*}; s=${s##*.}
e=${rip_##*-}; [ -n "$(printf "$e" | sed s/[0-9]//g)" ] && e=$s
sub=${rip_%.*}
[ $s -gt $e ] && usage
for rip in $(seq $s $e)
do
printf "/cfg/slb/real ${rn}\n"
printf " ena\n"
printf " rip ${sub}.${rip}\n"
printf " weight ${wt}\n"
[ -n "$srv_n" ] && printf " name \"${srv_n}${srv_c}\"\n"
let "rn++" "srv_c++"
done
if [ -n "$gn" -a -z "$(printf "$gn" | sed s/[0-9]//g)" ]; then
let "rn-=(e-s+1)"
printf "/cfg/slb/group ${gn}\n"
for rip in $(seq $s $e)
do
printf " add ${rn}\n"
let "rn++"
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment