经过一段时间的发现,在日常针对系统运维的过程中,一不小心,使用了root(Linux)账号启动了WebLogic,然后再使用bea的维护账号启动WebLogic,这个时候系统会或多或少的出现一些问题如:
1----菜单不显示,
2----接口调用出异常,
3----菜单打开直接无法显示。
等等错误,由于这个问题涉及到问责问题,所以很少有主动去说明曾经使用了root账号启动过weblogic,这个时候则需要花费大量的时间与精力去分析错误产生原因。解决方法一般是重新将域目录以及应用目录授权给bea账号,然后启动,这个时候还会报错!那么就需要删除/tmp目录下面的root账号生成的weblogic系列文件。。然后再使用bea维护账号启动,系统则正常。
那么是否还有更好的版本去防止这样的问题产生么?当然有。。
我们只需要在启动文件中加一个用户的判断条件即可,判断是否bea维护账号,如果是则可以启动,如果不是则不能启动。怎么去添加?
1:首先确认bea维护账号的ID:
[weblogic@VM-10 bin]$ id
uid=501(weblogic) gid=501(weblogic) groups=501(weblogic)
2:在启动文件中添加如下内容:
[weblogic@VM-10 bin]$ cat server1.sh
#!/bin/sh
if id | grep 'uid=501(' > /dev/null; then :
else
echo "You must be bea user to execute this program."
echo "Quit startWebLogic.sh."
exit 1
fi
nohup ./startManagedWebLogic.sh server1 t3://10.10.15.10:8001 > server1.out & tail -f server1.out
3:这时使用root账号启动WebLogic的时候就会出现提示:
[root@VM-10 bin]# ./server1.sh
You must be bea user to execute this program.
Quit startWebLogic.sh.
4:使用bea维护账号则可以正常启动:
[weblogic@VM-10 bin]$ ./server1.sh
JAVA Memory arguments: -Xms256m -Xmx256m -XX:MaxPermSize=128m
WLS Start Mode=Production
CLASSPATH=/bea/bea10/patch_wls1034/profiles/default/sy
总结:加上之后,可以防止在深夜发布时,使用root账号启动后带来的烦恼,。。。。。。。
作者:柱子 转载至公司BBS,谢谢柱子兄弟。