SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4037|回复: 0

[Perl] crontab中运行perl脚本(转载)

[复制链接]
发表于 2015-3-5 15:42:20 | 显示全部楼层 |阅读模式
crontab里面有一个perl脚本,但是一直执行不成功。) Y% O+ t2 y* A  U0 h$ x1 c$ ~
手工调用perl ***.pl却可以成功。手工能执行成功 说明该脚本语法以及权限均不存在问题。7 i4 @+ q0 l. P8 p3 r# b

. Y' J% a; ^; ]) D通过在crontab中设置跟踪日志2 ?6 a; n& u7 O) H1 I" O; K; \# {$ m
*、1 * * * * /home/oracle/tools/find_sql.pl >> /home/oracle/find_sql_temp.log 2>&1# n. M6 f- s. {8 R7 K4 Z
可以捕获到错误信息如下
% S* g0 u2 P% E- j" Y0 S8 wCan't exec "sendEmail": No such file or directory at /home/oracle/find_sql.pl line 39.
) [7 F. p7 R) }7 G2 V, r- y: S) R初步推断此问题是由环境变量设置不正确导致的,但是perl脚本中已经有了如下设置) h6 f, `6 i$ P' f5 w
$ENV{ORACLE_HOME} = "/data/oracle/product/10.2/db1";
( Z2 D  o2 d8 S* t$ V/ [8 _$ENV{ORACLE_SID} = "justin";) f  d( I3 H  F$ ]0 F
查看.bash_profile设置的路径信息4 e7 y; V5 E6 g0 V# h. N
[oracle@racdg1 ~]$ echo $PATH; [5 C, c- R5 F8 C1 C, J1 c2 N
/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* j4 j; H. r! N. k' u
将其加入到perl脚本中,crontab即可成功调用并执行该perl脚本; b. H# Q! `5 ?% y4 p- `( v
$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";
" W6 p5 W- J" ]: F- ?3 n( y- T
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2019-10-16 08:56 , Processed in 0.056881 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表