Shell脚本假脱机到文件但在crontab运行时创建零字节文件

时间:2016-06-02 23:01:02

标签: shell cron sh crontab sqlplus

我有一个运行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 个答案:

答案 0 :(得分:0)

可能是因为$ PATH不同。重定向到output.txt发生在shell发现它无法执行命令之前。

Cron可能会向您发送包含错误输出的本地邮件。