Chinaunix

标题: 我用crontab执行sybase命令startserver不成功是怎么回事? [打印本页]

作者: moon783    时间: 2006-04-30 15:23
标题: 我用crontab执行sybase命令startserver不成功是怎么回事?
环境:redhat linux advanced server 2.1,sybase ase 11.9.2
在sybase用户下,运行crontab -e编辑,内容如下:
11 17 29 4 * /sybase/mycron.sh

mycron.sh的内容如下:
--------------------begin-----------------------------------------
#!/bin/sh
# shutdown server ysmis first,then start ysmis in single user mode,then dump database dl dl_is sas then stop sybase ase server ysmis then down eth0:1


# 1 shutdown ysmis
/sybase/bin/isql -Usa -P109 -Sysmis -i /sybase/shutdownserver.sql -o /sybase/shutdownserver.log

# 2 start ysmis in single user mode
/sybase/install/startserver -f RUN_ysmis -m

# 3 dump database dl dl_is and sas
/sybase/bin/isql -Usa -P109 -Sysmis -i /sybase/dumpdb.sql -o /sybase/dumpdb.log

# 4 shutdown ysmis
/sybase/bin/isql -Usa -P109 -Sysmis -i /sybase/shutdownserver.sql -o /sybase/shutdownserver.log

# 5 down eth0:1
/sybase/ifconfig eth0:1 100.11.17.152 netmask 255.255.255.0 down

-----------------------end--------------------------------


结果我发现能shutdown但是不能start in single user mode.
也就是说,下面这条命令
# 2 start ysmis in single user mode
/sybase/install/startserver -f RUN_ysmis -m
没有成功执行,所以下面的语句也自然无法执行。

我猜测是因为通过cron运行程序的时候环境变量不跟在sybase用户一样所致.

请问,是什么原因,怎样解决?
谢谢
--
树欲静而风不止
子欲养而亲常在Sample Text
作者: chenxiang198301    时间: 2006-05-10 14:15
在#!/bin/sh后加下面的句子试试:
. /export/home/sybase/.profile
作者: jnet    时间: 2006-05-10 17:32
没错,crontab下面不会用sybase的系统环境的,所以你要记得运行设定系统环境变量的脚本。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2