题
我手动在UNIX系统上手动执行脚本,它在ORACLE数据库中成功运行并更新了所需的记录。然而,当我用crontab执行相同的脚本时,我的进程退出时出现错误代码127。
进一步分析后,我发现这些陈述存在一些问题。
LOGFILE =萨钦 ORALOGIN = ABC / ABC @ ABCD
cmd ='sqlplus $ {ORALOGIN} <!> lt; SQLS <!> gt; <!> gt; $ {SVC_HOME} / LOGFILES / $ {LOGFILE} date +%Y-%m-%d
';
eval $ cmd
请建议解决方案
解决方案
当cron执行脚本时,你确定${ORALOGIN}
和${LOGFILE}
是有效的ENV变量吗?
有时为用户工作的脚本不适用于cron,因为cron执行没有用户拥有的所有ENV变量。
其他提示
在互动环境中做
env | grep ORACLE
自从我使用sqlplus以来已经很久了,但我记得它需要一些环境变量才能运行(ORACLE_HOME?)而且我怀疑你的cron作业环境没有这些设置。
不隶属于 StackOverflow