crontab无法执行perl脚本 手工却成功执行

crontab里面有一个perl脚本,但是一直执行不成功,手工调用perl ***.pl却可以成功。

手工能执行成功 说明该脚本语法以及权限均不存在问题。
通过在crontab中设置跟踪日志
*、1 * * * * /home/oracle/tools/find_sql.pl >> /home/oracle/find_sql_temp.log 2>&1
可以捕获到错误信息如下
Can't exec "sendEmail": No such file or directory at /home/oracle/find_sql.pl line 39.

初步推断此问题是由环境变量设置不正确导致的,但是perl脚本中已经有了如下设置
$ENV{ORACLE_HOME} = "/data/oracle/product/10.2/db1";
$ENV{ORACLE_SID} = "justin";

查看.bash_profile设置的路径信息
[oracle@racdg1 ~]$ echo $PATH
/home/oracle/bin:/data/oracle/product/10.2/db1/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/bin:/sbin/:/data/oracle/product/10.2/crs//bin:/home/oracle/tools

将其加入到perl脚本中,crontab即可成功调用并执行该perl脚本
$ENV{PATH} ="/home/oracle/bin:/data/oracle/product/10.2/db1/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/bin:/sbin/:/data/oracle/product/10.2/crs//bin:/home/oracle/tools";

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15480802/viewspace-686976/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15480802/viewspace-686976/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值