1 先创建weblogic用户
#groupadd weblogic
#useradd weblogic -g weblogic
2 创建服务脚本
#!/bin/bash
#
# chkconfig: 35 99 05
# description: Weblogic Server
# /etc/init.d/weblogic
#
# Please edit the Variable
# export LC_ALL=zh_CN.GB18030
export BEA_OWNER="weblogic"
export BEA_BASE=/home/Oracle/Middleware
export BEA_DOMAIN=base_domain
export BEA_HOME=$BEA_BASE/user_projects/domains/$BEA_DOMAIN
export BEA_LOG=$BEA_HOME/log/weblogic.log
export BEA_NodeLOG=$BEA_HOME/log/node.log
export PATH=$PATH:$BEA_HOME/bin
export DateTime=$(date +%Y%m%d%H%M%S)
export PROCESSNUM=$(ps -ef | grep -w 'java' | grep -v grep | wc -l)
export JAVAPID=$(ps auxh|grep java|grep -v grep|awk '{print $2}')
# if the executables do not exist -- display error
if [ ! -f $BEA_HOME/bin/startWebLogic.sh -o ! -d $BEA_HOME ]
then echo "WebLogic startup: cannot start"
exit 1
fi
# if the log directory do not exist -- make it
if [ ! -d $BEA_HOME/'log' ]
then
su - $BEA_OWNER -c "mkdir -m 750 $BEA_HOME/'log/'"
echo "日志保存目录已创建!"
fi
# if the log file is exist -- backup it
if [ -f $BEA_HOME/log/weblogic.log -o ! -d $BEA_HOME ] && [ $PROCESSNUM -le 0 ]
then mv $BEA_LOG $BEA_HOME/log/'weblogic_'$DateTime.log
echo "上次的weblogic启动日志已备份!"
fi
if [ -f $BEA_HOME/log/node.log -o ! -d $BEA_HOME ] && [ $PROCESSNUM -le 0 ]
then mv $BEA_NodeLOG $BEA_HOME/log/'nodemanager_'$DateTime.log
echo "上次的node启动日志已备份!"
fi
# depending on parameter -- startup, shutdown, restart
case "$1" in
start)
if [ $PROCESSNUM -le 0 ]
then
echo "Starting Weblogic..."
echo "log file: $BEA_LOG,$BEA_NodeLOG"
su - $BEA_OWNER -c "touch $BEA_LOG touce $BEA_NodeLOG"
rm -rf $BEA_HOME/servers/AdminServer/tmp/_WL_user/*
su - $BEA_OWNER -c "nohup $BEA_HOME/bin/startWebLogic.sh > $BEA_LOG 2>&1 &"
echo "Starting Weblogic: Done"
su - $BEA_OWNER -c "nohup $BEA_HOME/bin/startNodeManager.sh > $BEA_NodeLOG 2>&1 &"
echo "Starting nodeManager: Done"
else echo "WebLogic进程已经启动!"
fi
;;
stop)
if [ $PROCESSNUM -gt 0 ]
then echo -n "Shutdown Weblogic:"
su - $BEA_OWNER -c "nohup $BEA_HOME/bin/stopWebLogic.sh >> $BEA_LOG"
su - $BEA_OWNER -c" pkill -u weblogic"
mv $BEA_LOG $BEA_HOME/log/'weblogic_'$DateTime.log
mv $BEA_NodeLOG $BEA_HOME/log/'nodemanager_'$DateTime.log
echo " 日志记录已备份! "
echo "Shutdown Weblogic: Done"
else
echo "没有Weblogic进程启动,不需要停止!"
fi
;;
kill)
if [ $PROCESSNUM -gt 0 ]
then
echo -n "Kill Weblogic:"
su - $BEA_OWNER -c "nohup kill -9 $JAVAPID >> $BEA_LOG"
mv $BEA_LOG $BEA_HOME/log/$BEA_DOMAIN'_'$DateTime.log
echo " 日志记录已备份! "
echo "Kill Weblogic: Done"
else
echo "没有Weblogic进程启动,不需要停止!"
fi
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `weblogic $0` start|stop|kill|restart|reload"
exit 1
esac
exit 0
3 修改文件权限
# chown root.root /etc/rc.d/init.d/weblogic
# chmod 775 /etc/rc.d/init.d/weblogic
# chown -R weblogic:weblogic/home/Oracle/Middleware
# chmod -R 755 /home/Oracle/Middleware
4 设置开机自启动
#
chkconfig --add weblogic