我写了一个shell备份表,手动可以执行,但是在crontab里无法执行,报:dbaccess not fount错误。

我的shell如下:#!/usr/bin/shmdy=`date'+%Y%m%d'`dbaccessss35_db-<<EOFunloadto/opt/informix/... 我的shell如下:
#!/usr/bin/sh
mdy=`date '+%Y%m%d'`
dbaccess ss35_db - << EOF
unload to /opt/informix/ifp_thread_$mdy.unl select * from ifp_thread;
EOF
dbaccess ss35_db - << EOF
delete from ifp_thread where create_time>(SELECT current-10 units hour FROM sysmaster:sysshmvals);
EOF
echo ifp_thread upload
在shell脚本里改变绝对路径后,提示23101 Unable to load locale categories,为什么那

我重新修改了脚本,可以正常执行了:
#!/usr/bin/sh
mdy=`date '+%Y%m%d'`
cd /opt/informix/bin
INFORMIXSERVER=ol_wps
export INFORMIXSERVER
INFORMIXDIR=/opt/informix
export INFORMIXDIR
ONCONFIG=onconfig.wps
export ONCONFIG
dbaccess eoms35_db - << EOF
unload to /opt/informix/ifp_thread_$mdy.unl select * from ifp_thread;
EOF
#
dbaccess eoms35_db - << EOF
delete from ifp_thread where create_time>(SELECT current-10 units hour FROM sysmaster:sysshmvals);
EOF
echo ifp_thread upload
展开
 我来答
talorkitty
2011-02-16 · TA获得超过771个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:440万
展开全部
在dbaccess前加上绝对路径
或者在shell脚本里面在执行dbaccess命令前,先改变工作路径到相应位置。
------------------
需要在脚本里增加环境变量设置
set CLIENT_LOCALE=EN_US.CP1252
set DB_LOCALE=EN_US.8859-1
set SERVER_LOCALE=EN_US.CP1252
set DBLANG=EN_US.CP1252
ytsword
2011-02-15 · TA获得超过677个赞
知道答主
回答量:95
采纳率:0%
帮助的人:74.1万
展开全部
在crontab -e中 该脚本前增加执行.profile试下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式