免费注册 查看新帖 |

Chinaunix

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

[系统管理] crontab无法执行这个脚本,但是脚本可以直接运行,请大家帮我看看 [复制链接]

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-16 08:58 |只看该作者 |倒序浏览
本帖最后由 lusklusklusk 于 2015-07-16 09:02 编辑

一个脚本对应的任务计划如下,在oracle用户下该任务计划无法执行,但是oracle用户下直接运行sh /backup/script/deletearchivelog.sh >>/dev/null 2>&1是可以执行的
47 8 * * 4 sh /backup/script/deletearchivelog.sh >>/dev/null 2>&1

脚本内容如下
#!/bin/sh
export ORACLE_SID=mpdb
FILEDATE=`date '+%Y%m%d%H%M%S'`
LOGFILE=/backup/deletearchivelog/deletearchivelog_$FILEDATE.log
/u01/app/oracle/product/11.2.0.3/db_1/bin/rman target /  > ${LOGFILE} << EOF
delete noprompt archivelog until time "sysdate-7";
EOF

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
2 [报告]
发表于 2015-07-16 09:16 |只看该作者
回复 1# lusklusklusk


脚本里面ORACLE_HOME变量没有设置。


直接运行时你oracle用户是有这个环境变量的。但是crontab运行时,是没有用户的环境变量,所以需要在脚本中设置。

你可以把47 8 * * 4 sh /backup/script/deletearchivelog.sh >>/dev/null 2>&1   最后的 >>/dev/null 2>&1 去掉。然后让crontab运行,从mail里面就可以看到运行时报的错误。

有可能看到的信息就是


Message file RMAN<lang>.msb not found

Verify that ORACLE_HOME is set properly

论坛徽章:
3
2015年亚冠纪念徽章
日期:2015-09-11 14:20:14操作系统版块每日发帖之星
日期:2015-09-17 06:20:00数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
3 [报告]
发表于 2015-07-16 09:27 |只看该作者
果然是这样
奇怪,我执行rman命令的时候已经指定了完全路径/u01/app/oracle/product/11.2.0.3/db_1/bin/rman target /
为什么还需要ORACLE_HOME回复 2# phanx


   

论坛徽章:
41
操作系统版块每日发帖之星
日期:2016-08-21 06:20:00每日论坛发贴之星
日期:2016-05-05 06:20:00操作系统版块每日发帖之星
日期:2016-05-05 06:20:00IT运维版块每日发帖之星
日期:2016-05-05 06:20:0015-16赛季CBA联赛之山西
日期:2016-04-27 08:49:00操作系统版块每日发帖之星
日期:2016-04-25 06:20:00操作系统版块每日发帖之星
日期:2016-04-17 06:23:2815-16赛季CBA联赛之吉林
日期:2016-03-25 15:46:3415-16赛季CBA联赛之四川
日期:2016-03-25 14:26:19操作系统版块每日发帖之星
日期:2016-05-27 06:20:00操作系统版块每日发帖之星
日期:2016-05-28 06:20:00IT运维版块每日发帖之星
日期:2016-08-18 06:20:00
4 [报告]
发表于 2015-07-16 10:31 |只看该作者
crontab执行的时候没有环境变量,你自己在脚本里用export加上这个变量就行了

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
5 [报告]
发表于 2015-07-16 10:40 |只看该作者
回复 3# lusklusklusk


    oracle相关的程序执行的时候,一般至少都需要这两个环境变量

ORACLE_HOME
ORACLE_SID
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP