我有一个运行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运行时它无法找到该位置?
1 回答
可能是因为$ PATH不同 . 重定向到
output.txt
发生在shell发现它无法执行命令之前 .Cron可能会向您发送带有错误输出的本地邮件 .