免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3868 | 回复: 9
打印 上一主题 下一主题

solaris脚本中无法获取其他用户环境变量 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-05 13:37 |只看该作者 |倒序浏览
本帖最后由 chulylin 于 2011-01-05 13:52 编辑

请教大家:

我现在还有一个问题。我要启动应用,要先用apps用户启动一些应用,然后切换到root用户启动apache服务。手动启动的过程如下:
su - apps

$POM_TOP/bin/MasterScript.sh start apps/apps

su root
输入密码:****

$APACHE_TOP/bin/startap.sh
(启动Apache方式要先用apps用户登录,并用su root命令切换到root用户,以保留apps所有环境变量。)


现在我想写脚本实现,这个脚本是用root来执行的。但我现在apache服务老启不来!
你看一下我的脚本:

#!/bin/sh
APACHE_TOP=/raid1/app/apache
POM_TOP=/raid1/app/dqappl/pom/11.5.0
COMMON_TOP=/raid1/app/dqappl/dqcomn
IAS_TOP=/raid1/app/a_dq/dqora/iAS

su - apps -c "$POM_TOP/bin/MasterScript.sh start apps/apps"
exit


su root -c "$APACHE_TOP/bin/startap.sh"      但apache总也启不来

请大家指点指点!

谢谢!

论坛徽章:
0
2 [报告]
发表于 2011-01-05 14:22 |只看该作者
起不来,至少你把报错信息贴出来啊

论坛徽章:
0
3 [报告]
发表于 2011-01-05 14:23 |只看该作者
本帖最后由 chulylin 于 2011-01-05 14:26 编辑

直接就报unable to  start apache
startap.sh里有一段这个,好象是读不到PIDfile,所以启不来!这应该还和没有获取apps用户的环境变量有关吧?
PIDFILE=`grep PidFile /raid1/app/a_dq/apache/conf/httpd.conf | grep -v "#" | cut -d" " -f 2`
if [ -f ${PIDFILE} ]
then
        THISPID=`cat "$PIDFILE" `
        ps -ef | grep $THISPID | grep -v grep | grep -v startap
        exit 0
else
        echo "Unable to start apache"
        exit 1

论坛徽章:
0
4 [报告]
发表于 2011-01-05 14:37 |只看该作者
感觉你程序有问题

全部贴出来吧


看你逻辑

如果文件存在,就ps grep一堆,那ps干啥用啊,不赋值,不判断
如果文件不存在,就报错

文件不存在,应该说是程序没有起动,这个时候应该是启动吧,为啥echo "Unable to start apache"呢?

论坛徽章:
0
5 [报告]
发表于 2011-01-05 14:59 |只看该作者
这个startap.sh程序不是我写的,系统自带的!上面ps....一串也不是我写的,都是startap.sh里面的

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
6 [报告]
发表于 2011-01-05 20:24 |只看该作者
startap.sh之前,先source一下apps用户的环境变量行吗?

论坛徽章:
0
7 [报告]
发表于 2011-01-06 11:27 |只看该作者
source /export/home/a_dq/.profile


$APACHE_TOP/bin/startap.sh

source我也试过,还是启不来!请大家帮忙!多谢!

论坛徽章:
0
8 [报告]
发表于 2011-01-06 12:26 |只看该作者
你确定你命令行直接可以启动吗?

论坛徽章:
0
9 [报告]
发表于 2011-01-07 11:15 |只看该作者
本帖最后由 chulylin 于 2011-01-07 11:17 编辑

直接命令是可以启动的。
问题已经解决了。
就是运行startap.sh脚本前把这两个都运行一下,就是写在脚本里面
./etc/profile
./export/home/a_dq/.profile
谢谢各位关注!哈哈

论坛徽章:
0
10 [报告]
发表于 2011-01-07 11:16 |只看该作者
还是环境变量惹的祸,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP