Tuxedo 全shell脚本安装

#!/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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值