免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1520 | 回复: 4
打印 上一主题 下一主题

[系统管理] crontab中执行不了 [复制链接]

论坛徽章:
3
数据库技术版块每日发帖之星
日期:2016-05-27 06:20:00数据库技术版块每日发帖之星
日期:2016-06-04 06:20:00数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-07 11:36 |只看该作者 |倒序浏览
脚本如下:
#!/bin/sh
sqlplus /nolog<<ENDOFINPUT
    whenever sqlerror exit 20;
    whenever oserror exit 20;
    connect hxl/hxl;
    variable cnt number;
    begin
    select Count(1) into :cnt from dual;
    if :cnt = 0 then
     :cnt:=0;
    else
     :cnt:=99;
    end if;
    end;
/
exit :cnt
ENDOFINPUT
flag=$?
echo $flag

手工执行没有问题
[etl@node1 shell]$ ./test.sh

SQL*Plus: Release 11.2.0.3.0 Production on Fri Mar 7 11:29:19 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

SQL> SQL> SQL> Connected.
SQL> SQL>   2    3    4    5    6    7    8    9  
PL/SQL procedure successfully completed.

SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
99
[etl@node1 shell]$


[etl@node1 log]$ crontab -l
20 11 * * * /home/etl/shell/test.sh >>$HOME/log/output_test.log 2>&1

crontab中执行有问题,请问大家是什么原因?
[etl@node1 log]$ more output_test.log
/home/etl/shell/test.sh: line 2: sqlplus: command not found
127

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2014-03-07 11:47 |只看该作者
不是写得很清楚了么?
没找到 sqlplus 这个命令.

要记住, crontab 使用的 环境变量, 跟你 直接在 终端执行时 的环境变量不一样.

换成 绝对路径试试.

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2014-03-07 11:47 |只看该作者
环境问题~~~定时任务的环境只有基本环境 。。
改成  . ~etl/.bash_profile && ~etl/test.sh

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-07-05 06:20:00
4 [报告]
发表于 2014-03-09 09:56 |只看该作者
解决问题时,最有价值的是:屏幕提示、系统文档/手册、Google

论坛徽章:
1
戌狗
日期:2014-08-05 13:32:44
5 [报告]
发表于 2014-03-10 16:50 |只看该作者
在该脚本文件中添加使环境变量生效的语句
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP