我有一个运行SQLplus查询的shell脚本,并将其假脱机到一个文件。 SQL查询在脚本中运行大约需要30秒,然后将其发送到output.txt文件。当我从Unix提示符手动运行脚本时,一切正常(输出发送到output.txt文件)但是当我从我设置的cron作业自动运行相同的shell脚本时,它会创建一个零字节(输出) .txt)没有内容的文件。有没有人有任何想法,为什么这个工作手动找到,但不是当crontab启动它?
更新:
我查看了我的本地邮件文件,看到了以下错误:
/home/tuser01/mon.sh[21]: /bin/sqlplus: not found
这是脚本中的sqlconnect:
$ORACLE_HOME/bin/sqlplus userid/password << Eossql
任何想法为什么我手动运行时没有“找不到”但是当它从crontab运行时却无法找到该位置?
答案 0 :(得分:0)
可能是因为$ PATH不同。重定向到output.txt
发生在shell发现它无法执行命令之前。
Cron可能会向您发送包含错误输出的本地邮件。