Linux自动重启was

来源:互联网 发布:南京软件测试工资 编辑:程序博客网 时间:2024/05/22 10:55

在Linux中使用WebSphre,想要在操作系统重启后自动重启was进程,我们可以通过创建shell脚本来实现,每个

进程都需要建立一个脚本,然后将它们加入到 /etc/inittab 文件中,实现was的自动重启,编辑inittab文件需

要root用户权限。

在我们使用startManager.sh、startNode.sh和startServer.sh server1命令时,我们可以加上-script选项来创

建重启脚本:

[wasadmin@wasssl bin]# ./startManager.sh -script start_manager.sh
ADMU0116I: 正在文件
           /opt/IBM/WebSphere/AppServer/profiles/dmgr01/logs/dmgr/startServer.log
           中记录工具信息
ADMU0128I: 正在启动具有 dmgr01 概要文件的工具
ADMU3100I: 正在从服务器读取配置:dmgr
ADMU3300I: 已创建服务器的启动脚本:start_manager.sh

我们可以查看一下生成的 start_manager.sh 脚本文件:

[wasadmin@wasssl bin]# cat start_manager.sh
#!/bin/sh# start_manager.sh# Generated: Tue Sep 22 19:07:19 CST 2015# Bootstrap values ...binDir=/opt/IBM/WebSphere/AppServer/profiles/dmgr01/bin. $binDir/setupCmdLine.sh# For debugging the server process:# export DEBUG="-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777"# Environment SettingsPLATFORM=`/bin/uname`case $PLATFORM in  AIX)    EXTSHM=ON    D_ARGS=""$D_ARGS" $DELIM -Dibm.websphere.preload.classes=true"    LIBPATH="$WAS_LIBPATH":$LIBPATH    export LIBPATH EXTSHM ;;  Linux)    LD_LIBRARY_PATH="$WAS_LIBPATH":$LD_LIBRARY_PATH    D_ARGS=""$D_ARGS" $DELIM -Dibm.websphere.preload.classes=true"    export LD_LIBRARY_PATH ;;  SunOS)    LD_LIBRARY_PATH="$WAS_LIBPATH":$LD_LIBRARY_PATH    D_ARGS=""$D_ARGS" $DELIM -Dibm.websphere.preload.classes=true"    export LD_LIBRARY_PATH ;;  HP-UX)    SHLIB_PATH="$WAS_LIBPATH":$SHLIB_PATH    D_ARGS=""$D_ARGS" $DELIM -Dibm.websphere.preload.classes=true"    export SHLIB_PATH ;;  OS/390)    PATH="$PATH":$binDir    export PATH    D_ARGS=""$D_ARGS" $DELIM -Dfile.encoding=ISO8859-1 $DELIM -Djava.ext.dirs="$JAVA_EXT_DIRS""    D_ARGS=""$D_ARGS" $DELIM -Dwas.serverstart.cell="$WAS_CELL""    D_ARGS=""$D_ARGS" $DELIM -Dwas.serverstart.node="$WAS_NODE""    D_ARGS=""$D_ARGS" $DELIM -Dwas.serverstart.server="$1""    X_ARGS="-Xnoargsconversion" ;;esac# Launch Commandexec "/opt/IBM/WebSphere/AppServer/java/bin/java"  $DEBUG "-Declipse.security" "-Dosgi.install.area=/opt/IBM/WebSphere/AppServer" "-Dosgi.configuration.area=/opt/IBM/WebSphere/AppServer/profiles/dmgr01/configuration" "-Djava.awt.headless=true" "-Dosgi.framework.extensions=com.ibm.cds,com.ibm.ws.eclipse.adaptors" "-Xshareclasses:name=webspherev70_%g,groupAccess,nonFatal" "-Xscmx50M" "-Xbootclasspath/p:/opt/IBM/WebSphere/AppServer/java/jre/lib/ext/ibmorb.jar:/opt/IBM/WebSphere/AppServer/java/jre/lib/ext/ibmext.jar" "-classpath" "/opt/IBM/WebSphere/AppServer/profiles/dmgr01/properties:/opt/IBM/WebSphere/AppServer/properties:/opt/IBM/WebSphere/AppServer/lib/startup.jar:/opt/IBM/WebSphere/AppServer/lib/bootstrap.jar:/opt/IBM/WebSphere/AppServer/lib/jsf-nls.jar:/opt/IBM/WebSphere/AppServer/lib/lmproxy.jar:/opt/IBM/WebSphere/AppServer/lib/urlprotocols.jar:/opt/IBM/WebSphere/AppServer/deploytool/itp/batchboot.jar:/opt/IBM/WebSphere/AppServer/deploytool/itp/batch2.jar:/opt/IBM/WebSphere/AppServer/java/lib/tools.jar" "-Dibm.websphere.internalClassAccessMode=allow" "-Xms50m" "-Xmx256m" "-Xcompressedrefs" "-Dws.ext.dirs=/opt/IBM/WebSphere/AppServer/java/lib:/opt/IBM/WebSphere/AppServer/profiles/dmgr01/classes:/opt/IBM/WebSphere/AppServer/classes:/opt/IBM/WebSphere/AppServer/lib:/opt/IBM/WebSphere/AppServer/installedChannels:/opt/IBM/WebSphere/AppServer/lib/ext:/opt/IBM/WebSphere/AppServer/web/help:/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime" "-Dderby.system.home=/opt/IBM/WebSphere/AppServer/derby" "-Dcom.ibm.itp.location=/opt/IBM/WebSphere/AppServer/bin" "-Djava.util.logging.configureByServer=true" "-Duser.install.root=/opt/IBM/WebSphere/AppServer/profiles/dmgr01" "-Djavax.management.builder.initial=com.ibm.ws.management.PlatformMBeanServerBuilder" "-Dwas.install.root=/opt/IBM/WebSphere/AppServer" "-Dpython.cachedir=/opt/IBM/WebSphere/AppServer/profiles/dmgr01/temp/cachedir" "-Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager" "-Dserver.root=/opt/IBM/WebSphere/AppServer/profiles/dmgr01" "-Dcom.ibm.security.jgss.debug=off" "-Dcom.ibm.security.krb5.Krb5Debug=off" "-Djava.security.auth.login.config=/opt/IBM/WebSphere/AppServer/profiles/dmgr01/properties/wsjaas.conf" "-Djava.security.policy=/opt/IBM/WebSphere/AppServer/profiles/dmgr01/properties/server.policy" "com.ibm.wsspi.bootstrap.WSPreLauncher" "-nosplash" "-application" "com.ibm.ws.bootstrap.WSLauncher" "com.ibm.ws.runtime.WsServer" "/opt/IBM/WebSphere/AppServer/profiles/dmgr01/config" "wassslCell01" "wassslCellManager01" "dmgr"

然后我们通过root用户编辑操作系统的 inittab 文件,在最后一行为 shell 脚本添加一个新的条目。

每个 inittab 条目都会在系统初始化时,启动条目中所指定的进程:

[root@wasssl bin]# vi /etc/inittab   添加下面一行

su wasadmin -c was:235:respawn:/opt/IBM/WebSphere/AppServer/bin/start_manager.sh >/dev/console 2>&1

[root@wasssl bin]# init q    立即生效

su:以非root用户启动进程

235:在系统初始化到运行级别 2、3 或 5 时来操作的机器时,执行脚本

respawn:该进程只要终止就立即重新启动

以下是一个可指定的运行级别列表。运行级别通常缺省为 3 或 5。

0 - 中止

1 - 单用户方式

2 - 多用户,没有 NFS(如果未使用网络,那么此级别等效于 3)

3 - 完整多用户方式

4 - 未使用

5 - X11

6 - 重新引导

startNode.sh和startServer.sh server1 创建脚本方法同上。


0 0