linux系统weblogic启动脚本,linux下weblogic设置自启动

1、创建WebLogic启动脚本

以root用户登录,执行如下命令,创建启动脚本:

# cd /etc/rc.d/init.d/#vi weblogic

脚本中添加以下内容:

#!/bin/bash

# chkconfig: 345 20 80

# description: Weblogic Server auto start/stop script.

# /etc/rc.d/init.d/weblogic

# Please edit the variable

export BEA_BASE=/home/weblogic/Oracle/Middleware

export BEA_HOME=$BEA_BASE/Oracle_Home/user_projects/domains/server1/bin

export BEA_LOG=$BEA_HOME/nohup.out

#export PATH=$PATH:$BEA_HOME

BEA_OWNR="weblogic"

BEA_GROUP=su $BEA_OWNR -c "groups"

# if the executables do not exist -- display error

if [ ! -f $BEA_HOME/startWebLogic.sh -o ! -d $BEA_HOME ]

then

echo "WebLogic startup: cannot start"

exit 1

fi

if [ -d /data ]

then

chown -R $BEA_OWNR:$BEA_GROUP /data

fi

# depending on parameter -- startup, shutdown, restart

case "$1" in

start)

echo -n "Starting WebLogic,log file $BEA_LOG: "

touch /var/lock/weblogic

chown -R $BEA_OWNR:$BEA_GROUP $BEA_BASE

su $BEA_OWNR -c "cd ${BEA_HOME}; nohup ./startWebLogic.sh > $BEA_LOG 2>&1  &"

echo "OK"

;;

stop)

echo -n "Shutdown WebLogic: "

rm -f /var/lock/weblogic

chown -R $BEA_OWNR:$BEA_GROUP $BEA_BASE

su $BEA_OWNR -c "cd ${BEA_HOME}; ./stopWebLogic.sh >> $BEA_LOG"

echo "OK"

;;

reload|restart)

$0 stop

$0 start

;;

*)

echo "Usage: `basename $0` start|stop|restart|reload"

exit 1

esac

exit 0

2、赋予可执行权限

执行命令:

# chmod +x weblogic

3、添加到服务列表中

# chkconfig --add weblogic

4、检查是否添加成功

# chkconfig --list | grep weblogic

weblogic 0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭

5、使用方法

开机或重启WebLogic应用服务器weblogic服务会自动启动。

停WebLogic服务

# service weblogic stop(或/etc/rc.d/init.d/weblogic stop)

Shutdown WebLogic: OK

(ps:weblogic通过这种方式一般都关不掉,一般需要自己kill掉)

启动WebLogic服务

# service weblogic start(或/etc/rc.d/init.d/weblogic start)

Starting WebLogic,log file

/weblogic/bea/user_projects/domains/csky/weblogic.log: OK

此处以上大部分内容转载自https://blog.csdn.net/sheen1991/article/details/47088131

6、命令详解

(1)export:将局部变量到全局变量 (其实就是定义一个全局的环境变量)

(2)文件比较运算符:(其中我们用到了-d和-f)

-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真-f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真-wfilename 如果 filename可写,则为真-x filename 如果 filename可执行,则为真

(3)-o:

-o 是或者的意思-a 是而且的意思-not 是相反的意思if [ ! -f $BEA_HOME/startWebLogic.sh -o ! -d $BEA_HOME ] 所以这句话的意思就是如果startWebLogic.sh不是文件或者$BEA_HOME对应的路径不是文件夹的话,执行下面语句

(4)su命令:

-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。

(5)echo命令:

echo -n 不换行输出

$echo -n "123"$echo "456"最终输出123456而不是123

456

(6)linux中“>”和“>>”区别

>直接把内容生成到指定文件,会覆盖源文件中的内容,还有一种用途是直接生成一个空白文件,相当于touch命令>>尾部追加,不会覆盖掉文件中原有的内容

(7)$1到底啥意思?

$1在shell中称为“位置参数”,表示传入的第1个参数(第1个入参)。

用在shell脚本主体中,表示shell脚本的第1个入参。

用在shell脚本函数里,表示函数的第1个入参。

test-z $1是一个判断表达式,用于判断$1的值是否为空字符串。

若为空,则结果为true;否则为false。

(8)2>&1 究竟什么意思?

command > /dev/null等价于command 1 > /dev/null,那么对于2>&1也就好理解了,2就是标准错误,1是标准输出,那么这条命令不就是相当于把标准错误重定向到标准输出么。等等是&1而不是1,这里&是什么?这里&相当于等效于标准输出。

可能说的不是很清楚,想自己搞清楚请看这个帖子:https://blog.csdn.net/ggxiaobai/article/details/53507530

在实际工作中su $BEA_OWNR -c "cd ${BEA_HOME}; nohup ./startWebLogic.sh > $BEA_LOG 2>&1  &" 这行命令

我已改成su $BEA_OWNR -c "cd ${BEA_HOME}; nohup ./startWebLogic.sh  &" 因为nohup启动默认就是把日志输出到nohup.out中,不必再重定向,多此一举

----------------------------------------2018-07-13更新------------------------

输出日志那里我又改回去了.....不知道为什么个别服务器重启的时候会不输出日志到nohup.out,已改回到su $BEA_OWNR -c "cd ${BEA_HOME}; nohup ./startWebLogic.sh > $BEA_LOG 2>&1  &"

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值