#!/bin/bash
#declare variable
libfolder=/opt/devlib
currentpath=$PWD
tuxedopath=${currentpath}/tuxedo111120_32_Linux_01_x86.bin
libpath=${currentpath}/lib.tar
confpath=${currentpath}/conf.tar
servicepath=${currentpath}/service.tar
tuxapp=${currentpath}/tuxedo
deftuxinstalldir=/opt/tuxedo11gR1
oracletnspath=${currentpath}/network.tar
oracledef=/opt
export PATH=$PATH:/sbin
ip=$(ifconfig | sed -n '/Bcast/p' | awk -F ':' '{print $2}' | awk '{print $1}')
if [ ! $? -eq 0 ];then
echo "get ip failed,please input ip"
read ip
fi
function ubbconfig()
{
if [ -f ${tuxapp}/ubbsimp ]
then
rm -fr ${tuxapp}/ubbsimp
fi
if [ ! $? -eq 0 ]; then
echo "remove file ${tuxapp}/ubbsimp fail."
exit 600
fi
uid=$( id -u )
gid=$( id -g )
machinename=$( hostname )
tuxapp=$1
tuxdir=$2
# ip=$(grep $(hostname) /etc/hosts| awk '{print $1}')
# ip=${ip%::*}
echo "*RESOURCES">>${tuxapp}/ubbsimp
echo "IPCKEY 123457">>${tuxapp}/ubbsimp
echo "DOMAINID simpap">>${tuxapp}/ubbsimp
echo "MASTER simple">>${tuxapp}/ubbsimp
echo "MAXACCESSERS 100">>${tuxapp}/ubbsimp
echo "MAXSERVERS 50">>${tuxapp}/ubbsimp
echo "MAXSERVICES 100">>${tuxapp}/ubbsimp
echo "MODEL SHM">>${tuxapp}/ubbsimp
echo "LDBAL N">>${tuxapp}/ubbsimp
echo "UID ${uid}">>${tuxapp}/ubbsimp
echo "GID ${gid}">>${tuxapp}/ubbsimp
echo "">>${tuxapp}/ubbsimp
echo "*MACHINES">>${tuxapp}/ubbsimp
echo "DEFAULT:">>${tuxapp}/ubbsimp
echo " APPDIR=\"${tuxapp}\"">>${tuxapp}/ubbsimp
echo " TUXCONFIG=\"${tuxapp}/tuxconfig\"">>${tuxapp}/ubbsimp
echo " TUXDIR=\"${tuxdir}\"">>${tuxapp}/ubbsimp
echo "\"${machinename}\" LMID=simple">>${tuxapp}/ubbsimp
echo " MAXWSCLIENTS=30">>${tuxapp}/ubbsimp
echo "">>${tuxapp}/ubbsimp
echo "*GROUPS">>${tuxapp}/ubbsimp
echo "GROUP1">>${tuxapp}/ubbsimp
echo " LMID=simple GRPNO=1 OPENINFO=NONE">>${tuxapp}/ubbsimp
echo "*SERVERS">>${tuxapp}/ubbsimp
echo "DEFAULT:">>${tuxapp}/ubbsimp
echo " CLOPT=\"-A\"">>${tuxapp}/ubbsimp
i=1;
for service in $( ls ${tuxapp} )
{
if [ ${service} != "ubbsimp" ] ; then
if [ ${service} != "tux.env" ] ; then
echo "\"${service}\" SRVGRP=\"GROUP1\" SRVID=${i}">>${tuxapp}/ubbsimp
let i+=10
fi
if [ ! -x ${tuxapp}/${service} ]; then
chmod u+x ${tuxapp}/${service}
fi
if [ ! $? -eq 0 ] ; then
echo "service change mode to execute fail"
exit 601
fi
fi
}
let i+=10
echo "\"WSL\" SRVGRP=\"GROUP1\" SRVID=${i}">>${tuxapp}/ubbsimp
echo " CLOPT=\"-A -t -- -n //${ip}:20000 -m 10 -M 10 -x 1000 -I 1000 -N 60 -p 40000 -P 41000 -t 100 \"">>${tuxapp}/ubbsimp
echo "">>${tuxapp}/ubbsimp
echo "*SERVICES">>${tuxapp}/ubbsimp
}
function setenvironment()
{
if [ -f ${tuxapp}/tux.env ]
then
rm -fr ${tuxapp}/tux.env
fi
if [ ! $? -eq 0 ]; then
echo "remove file ${tuxapp}/tux.env fail."
exit 700
fi
tuxapp=$1
tuxdir=$2
libdir=$3
# ip=$(grep $(hostname) /etc/hosts| awk '{print $1}')
# ip=${ip%::*}
echo "TUXDIR=${tuxdir}; export TUXDIR">>${tuxapp}/tux.env
echo "APPDIR=${tuxapp};export APPDIR">>${tuxapp}/tux.env
echo "JAVA_HOME=\$TUXDIR/jre; export JAVA_HOME">>${tuxapp}/tux.env
echo "JVMLIBS=\$JAVA_HOME/lib/i386/server:\$JAVA_HOME/jre/bin">>${tuxapp}/tux.env
echo "PATH=\$TUXDIR/bin:\$JAVA_HOME/bin:\$PATH:\${APPDIR}/lib; export PATH">>${tuxapp}/tux.env
echo "COBCPY=:\$TUXDIR/cobinclude; export COBCPY">>${tuxapp}/tux.env
echo "COBOPT=\"-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl\"; export COBOPT">>${tuxapp}/tux.env
echo "SHLIB_PATH=\$TUXDIR/lib:\$JVMLIBS:\$SHLIB_PATH; export SHLIB_PATH">>${tuxapp}/tux.env
echo "LIBPATH=\$TUXDIR/lib:\$JVMLIBS:\$LIBPATH; export LIBPATH">>${tuxapp}/tux.env
echo "LD_LIBRARY_PATH=${libdir}:\$TUXDIR/lib:\$JVMLIBS:\$LD_LIBRARY_PATH:\${APPDIR}/lib; export LD_LIBRARY_PATH">>${tuxapp}/tux.env
echo "WEBJAVADIR=\$TUXDIR/udataobj/webgui/java; export WEBJAVADIR">>${tuxapp}/tux.env
echo "WSNADDR=//${ip}:20000 export WSNADDR">>${tuxapp}/tux.env
echo "TUXCONFIG=\${APPDIR}/tuxconfig;export TUXCONFIG">>${tuxapp}/tux.env
echo "LANG=C;export LANG">>${tuxapp}/tux.env
echo "NLS_LANG=\"SIMPLIFIED CHINESE_CHINA.ZHS16GBK\" ;export NLS_LANG">>${tuxapp}/tux.env
echo "ORACLE_HOME=${oracledef} ; export ORACLE_HOME">>${tuxapp}/tux.env
}
echo "do you want install tuxedo?"
export PS3="please selection:"
select tmpintuxedo in "install" "don't install"
do
intuxedo=$REPLY
break
done
echo "do you want update library?"
select tmpuplib in "update" "don't update"
do
uplib=$REPLY
break
done
if [ $intuxedo -eq 1 ] ; then
if [ ! -x /opt -o ! -r /opt -o ! -w /opt ] ; then
sudo chmod 777 /opt
if [ ! $? -eq 0 ]; then
echo "chang access fail."
exit 198
fi
fi
fi
#create public develop folder
if [ $uplib -eq 1 ] ;then
if [ ! -d "${libfolder}" -o -e "${libfolder} " ] ; then
mkdir -p "${libfolder}"
if [ ! $? -eq 0 ]; then
echo "create public library folder fail."
exit 199
fi
fi
fi
#check required files are exist at current directory
#check tuxedo server file
if [ $intuxedo -eq 1 ] ; then
if [ ! -f "${tuxedopath}" ] ; then
echo "not find tuxedo install file:${tuxedopath}"
exit 200
fi
fi
#check lib tar file
if [ $uplib -eq 1 ] ;then
if [ ! -f "${libpath}" ] ; then
echo "not find odbc install file:${libpath}"
exit 201
fi
fi
#check service file
if [ ! -f "${servicepath}" ] ; then
echo "not find odbc install file:${servicepath}"
exit 202
fi
#check oracle network file
if [ ! -f "${oracletnspath}" ] ; then
echo "not find odbc install file:${oracletnspath}"
exit 203
fi
#add execute access
if [ $intuxedo -eq 1 ] ; then
if [ ! -x "${tuxedopath}" ] ; then
chmod u+x "${tuxedopath}"
if [ ! $? -eq 0 ] ;then
echo "${tuxedopath} add execute access fail."
exit 300
fi
fi
fi
#crate tuxedo application folder
if [ ! -d ${tuxapp} ] ; then
mkdir -p ${tuxapp}
if [ ! $? -eq 0 ] ; then
echo "create tuxedo application folder error."
exit 301
fi
else
rm -fr ${tuxapp}/*
fi
#decompression file
#decompression libraries
if [ $uplib -eq 1 ] ;then
tar -vxf "${libpath}" -C "${libfolder}"
if [ ! $? -eq 0 ] ;then
echo "decompression libraries fail"
exit 401
fi
fi
#decompression services
tar -vxf "${servicepath}" -C "${tuxapp}"
if [ ! $? -eq 0 ] ;then
echo "decompression tuxedo services fail"
exit 402
fi
#command execute tuxedo
if [ $intuxedo -eq 1 ] ; then
sh "${tuxedopath}" -i console
if [ ! $? -eq 0 ] ; then
echo "install tuxedo error."
exit 500
fi
echo "tuxedo intall success"
fi
echo "input tuxedo install directory(<ENTER=${deftuxinstalldir}>)"
read tuxinstalldir
if [ -z ${tuxinstalldir} ]; then
tuxinstalldir=${deftuxinstalldir}
fi
#decompression network
if [ ! -d ${oracledef} ] ; then
tar -vxf "${oracletnspath}" -C "${oracledef}"
if [ ! $? -eq 0 ] ;then
echo "decompression oracle network fail"
exit 403
fi
fi
echo "tuxedo directory is :${deftuxinstalldir}"
ubbconfig ${tuxapp} ${tuxinstalldir}
if [ ! $? -eq 0 ];then
echo "ubbconfig create fail"
exit 404
fi
setenvironment ${tuxapp} ${tuxinstalldir} ${libfolder}
if [ ! $? -eq 0 ]; then
echo "carete tux.env fail"
exit 501
fi
if [ ! -x ${tuxapp}/tux.env ]; then
chmod u+x ${tuxapp}/tux.env
fi
if [ ! $? -eq 0 ]; then
echo "set tux.env execute access fail"
exit 502
fi
#解压配置文件
if [ ! -d ${tuxapp}/conf ]; then
tar -vxf ${confpath} -C ${tuxapp}
if [ $? -eq 0 ]; then
echo "install success."
exit 0
fi
fi
#declare variable
libfolder=/opt/devlib
currentpath=$PWD
tuxedopath=${currentpath}/tuxedo111120_32_Linux_01_x86.bin
libpath=${currentpath}/lib.tar
confpath=${currentpath}/conf.tar
servicepath=${currentpath}/service.tar
tuxapp=${currentpath}/tuxedo
deftuxinstalldir=/opt/tuxedo11gR1
oracletnspath=${currentpath}/network.tar
oracledef=/opt
export PATH=$PATH:/sbin
ip=$(ifconfig | sed -n '/Bcast/p' | awk -F ':' '{print $2}' | awk '{print $1}')
if [ ! $? -eq 0 ];then
echo "get ip failed,please input ip"
read ip
fi
function ubbconfig()
{
if [ -f ${tuxapp}/ubbsimp ]
then
rm -fr ${tuxapp}/ubbsimp
fi
if [ ! $? -eq 0 ]; then
echo "remove file ${tuxapp}/ubbsimp fail."
exit 600
fi
uid=$( id -u )
gid=$( id -g )
machinename=$( hostname )
tuxapp=$1
tuxdir=$2
# ip=$(grep $(hostname) /etc/hosts| awk '{print $1}')
# ip=${ip%::*}
echo "*RESOURCES">>${tuxapp}/ubbsimp
echo "IPCKEY 123457">>${tuxapp}/ubbsimp
echo "DOMAINID simpap">>${tuxapp}/ubbsimp
echo "MASTER simple">>${tuxapp}/ubbsimp
echo "MAXACCESSERS 100">>${tuxapp}/ubbsimp
echo "MAXSERVERS 50">>${tuxapp}/ubbsimp
echo "MAXSERVICES 100">>${tuxapp}/ubbsimp
echo "MODEL SHM">>${tuxapp}/ubbsimp
echo "LDBAL N">>${tuxapp}/ubbsimp
echo "UID ${uid}">>${tuxapp}/ubbsimp
echo "GID ${gid}">>${tuxapp}/ubbsimp
echo "">>${tuxapp}/ubbsimp
echo "*MACHINES">>${tuxapp}/ubbsimp
echo "DEFAULT:">>${tuxapp}/ubbsimp
echo " APPDIR=\"${tuxapp}\"">>${tuxapp}/ubbsimp
echo " TUXCONFIG=\"${tuxapp}/tuxconfig\"">>${tuxapp}/ubbsimp
echo " TUXDIR=\"${tuxdir}\"">>${tuxapp}/ubbsimp
echo "\"${machinename}\" LMID=simple">>${tuxapp}/ubbsimp
echo " MAXWSCLIENTS=30">>${tuxapp}/ubbsimp
echo "">>${tuxapp}/ubbsimp
echo "*GROUPS">>${tuxapp}/ubbsimp
echo "GROUP1">>${tuxapp}/ubbsimp
echo " LMID=simple GRPNO=1 OPENINFO=NONE">>${tuxapp}/ubbsimp
echo "*SERVERS">>${tuxapp}/ubbsimp
echo "DEFAULT:">>${tuxapp}/ubbsimp
echo " CLOPT=\"-A\"">>${tuxapp}/ubbsimp
i=1;
for service in $( ls ${tuxapp} )
{
if [ ${service} != "ubbsimp" ] ; then
if [ ${service} != "tux.env" ] ; then
echo "\"${service}\" SRVGRP=\"GROUP1\" SRVID=${i}">>${tuxapp}/ubbsimp
let i+=10
fi
if [ ! -x ${tuxapp}/${service} ]; then
chmod u+x ${tuxapp}/${service}
fi
if [ ! $? -eq 0 ] ; then
echo "service change mode to execute fail"
exit 601
fi
fi
}
let i+=10
echo "\"WSL\" SRVGRP=\"GROUP1\" SRVID=${i}">>${tuxapp}/ubbsimp
echo " CLOPT=\"-A -t -- -n //${ip}:20000 -m 10 -M 10 -x 1000 -I 1000 -N 60 -p 40000 -P 41000 -t 100 \"">>${tuxapp}/ubbsimp
echo "">>${tuxapp}/ubbsimp
echo "*SERVICES">>${tuxapp}/ubbsimp
}
function setenvironment()
{
if [ -f ${tuxapp}/tux.env ]
then
rm -fr ${tuxapp}/tux.env
fi
if [ ! $? -eq 0 ]; then
echo "remove file ${tuxapp}/tux.env fail."
exit 700
fi
tuxapp=$1
tuxdir=$2
libdir=$3
# ip=$(grep $(hostname) /etc/hosts| awk '{print $1}')
# ip=${ip%::*}
echo "TUXDIR=${tuxdir}; export TUXDIR">>${tuxapp}/tux.env
echo "APPDIR=${tuxapp};export APPDIR">>${tuxapp}/tux.env
echo "JAVA_HOME=\$TUXDIR/jre; export JAVA_HOME">>${tuxapp}/tux.env
echo "JVMLIBS=\$JAVA_HOME/lib/i386/server:\$JAVA_HOME/jre/bin">>${tuxapp}/tux.env
echo "PATH=\$TUXDIR/bin:\$JAVA_HOME/bin:\$PATH:\${APPDIR}/lib; export PATH">>${tuxapp}/tux.env
echo "COBCPY=:\$TUXDIR/cobinclude; export COBCPY">>${tuxapp}/tux.env
echo "COBOPT=\"-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl\"; export COBOPT">>${tuxapp}/tux.env
echo "SHLIB_PATH=\$TUXDIR/lib:\$JVMLIBS:\$SHLIB_PATH; export SHLIB_PATH">>${tuxapp}/tux.env
echo "LIBPATH=\$TUXDIR/lib:\$JVMLIBS:\$LIBPATH; export LIBPATH">>${tuxapp}/tux.env
echo "LD_LIBRARY_PATH=${libdir}:\$TUXDIR/lib:\$JVMLIBS:\$LD_LIBRARY_PATH:\${APPDIR}/lib; export LD_LIBRARY_PATH">>${tuxapp}/tux.env
echo "WEBJAVADIR=\$TUXDIR/udataobj/webgui/java; export WEBJAVADIR">>${tuxapp}/tux.env
echo "WSNADDR=//${ip}:20000 export WSNADDR">>${tuxapp}/tux.env
echo "TUXCONFIG=\${APPDIR}/tuxconfig;export TUXCONFIG">>${tuxapp}/tux.env
echo "LANG=C;export LANG">>${tuxapp}/tux.env
echo "NLS_LANG=\"SIMPLIFIED CHINESE_CHINA.ZHS16GBK\" ;export NLS_LANG">>${tuxapp}/tux.env
echo "ORACLE_HOME=${oracledef} ; export ORACLE_HOME">>${tuxapp}/tux.env
}
echo "do you want install tuxedo?"
export PS3="please selection:"
select tmpintuxedo in "install" "don't install"
do
intuxedo=$REPLY
break
done
echo "do you want update library?"
select tmpuplib in "update" "don't update"
do
uplib=$REPLY
break
done
if [ $intuxedo -eq 1 ] ; then
if [ ! -x /opt -o ! -r /opt -o ! -w /opt ] ; then
sudo chmod 777 /opt
if [ ! $? -eq 0 ]; then
echo "chang access fail."
exit 198
fi
fi
fi
#create public develop folder
if [ $uplib -eq 1 ] ;then
if [ ! -d "${libfolder}" -o -e "${libfolder} " ] ; then
mkdir -p "${libfolder}"
if [ ! $? -eq 0 ]; then
echo "create public library folder fail."
exit 199
fi
fi
fi
#check required files are exist at current directory
#check tuxedo server file
if [ $intuxedo -eq 1 ] ; then
if [ ! -f "${tuxedopath}" ] ; then
echo "not find tuxedo install file:${tuxedopath}"
exit 200
fi
fi
#check lib tar file
if [ $uplib -eq 1 ] ;then
if [ ! -f "${libpath}" ] ; then
echo "not find odbc install file:${libpath}"
exit 201
fi
fi
#check service file
if [ ! -f "${servicepath}" ] ; then
echo "not find odbc install file:${servicepath}"
exit 202
fi
#check oracle network file
if [ ! -f "${oracletnspath}" ] ; then
echo "not find odbc install file:${oracletnspath}"
exit 203
fi
#add execute access
if [ $intuxedo -eq 1 ] ; then
if [ ! -x "${tuxedopath}" ] ; then
chmod u+x "${tuxedopath}"
if [ ! $? -eq 0 ] ;then
echo "${tuxedopath} add execute access fail."
exit 300
fi
fi
fi
#crate tuxedo application folder
if [ ! -d ${tuxapp} ] ; then
mkdir -p ${tuxapp}
if [ ! $? -eq 0 ] ; then
echo "create tuxedo application folder error."
exit 301
fi
else
rm -fr ${tuxapp}/*
fi
#decompression file
#decompression libraries
if [ $uplib -eq 1 ] ;then
tar -vxf "${libpath}" -C "${libfolder}"
if [ ! $? -eq 0 ] ;then
echo "decompression libraries fail"
exit 401
fi
fi
#decompression services
tar -vxf "${servicepath}" -C "${tuxapp}"
if [ ! $? -eq 0 ] ;then
echo "decompression tuxedo services fail"
exit 402
fi
#command execute tuxedo
if [ $intuxedo -eq 1 ] ; then
sh "${tuxedopath}" -i console
if [ ! $? -eq 0 ] ; then
echo "install tuxedo error."
exit 500
fi
echo "tuxedo intall success"
fi
echo "input tuxedo install directory(<ENTER=${deftuxinstalldir}>)"
read tuxinstalldir
if [ -z ${tuxinstalldir} ]; then
tuxinstalldir=${deftuxinstalldir}
fi
#decompression network
if [ ! -d ${oracledef} ] ; then
tar -vxf "${oracletnspath}" -C "${oracledef}"
if [ ! $? -eq 0 ] ;then
echo "decompression oracle network fail"
exit 403
fi
fi
echo "tuxedo directory is :${deftuxinstalldir}"
ubbconfig ${tuxapp} ${tuxinstalldir}
if [ ! $? -eq 0 ];then
echo "ubbconfig create fail"
exit 404
fi
setenvironment ${tuxapp} ${tuxinstalldir} ${libfolder}
if [ ! $? -eq 0 ]; then
echo "carete tux.env fail"
exit 501
fi
if [ ! -x ${tuxapp}/tux.env ]; then
chmod u+x ${tuxapp}/tux.env
fi
if [ ! $? -eq 0 ]; then
echo "set tux.env execute access fail"
exit 502
fi
#解压配置文件
if [ ! -d ${tuxapp}/conf ]; then
tar -vxf ${confpath} -C ${tuxapp}
if [ $? -eq 0 ]; then
echo "install success."
exit 0
fi
fi