SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2388|回复: 0

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

[复制链接]
发表于 2015-3-5 15:42:20 | 显示全部楼层 |阅读模式
crontab里面有一个perl脚本,但是一直执行不成功。
2 W" t# m3 Q" I, N0 l! _# w3 q8 z3 p手工调用perl ***.pl却可以成功。手工能执行成功 说明该脚本语法以及权限均不存在问题。9 t0 J2 b2 t  Y- U* x! J- W
4 D8 G) N+ Y" q3 {/ l- g
通过在crontab中设置跟踪日志
5 `# q' q5 s: A1 @*、1 * * * * /home/oracle/tools/find_sql.pl >> /home/oracle/find_sql_temp.log 2>&1: D0 t, Q' X  A7 K
可以捕获到错误信息如下, p, s+ u$ A& Q) b" L/ @
Can't exec "sendEmail": No such file or directory at /home/oracle/find_sql.pl line 39.
# C$ v8 V' `) [5 D  u" u6 u初步推断此问题是由环境变量设置不正确导致的,但是perl脚本中已经有了如下设置
6 \3 G: p. `7 S/ X; h$ENV{ORACLE_HOME} = "/data/oracle/product/10.2/db1";
, D; j4 V& H$ q! D5 B# B& ]5 n' k$ENV{ORACLE_SID} = "justin";% H% u5 `. P* C: }% E# R
查看.bash_profile设置的路径信息8 \6 m1 l1 c4 h. h9 M* t" u
[oracle@racdg1 ~]$ echo $PATH
$ m, z  E7 d9 B- i5 C- b/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+ w) Z4 Q' V4 P" W3 ]
将其加入到perl脚本中,crontab即可成功调用并执行该perl脚本1 w; y( y! h- d( \3 S3 b
$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";) ^  K0 f/ E# `; m. M
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2018-1-17 22:19 , Processed in 0.058270 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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