ITPub博客

首页 > Linux操作系统 > Linux操作系统 > crontab无法执行perl脚本 手工却成功执行

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

原创 Linux操作系统 作者:myownstars 时间:2011-02-10 16:13:16 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 解锁oracle账户
请登录后发表评论 登录
全部评论

注册时间:2010-03-18

  • 博文量
    375
  • 访问量
    3112465