免费注册 查看新帖 |

Chinaunix

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

[数据库] 问个简单问题(已解决) [复制链接]

论坛徽章:
8
天秤座
日期:2013-09-02 09:10:44CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-11-20 16:38:31巨蟹座
日期:2013-12-18 13:03:34天秤座
日期:2013-12-31 13:28:40卯兔
日期:2014-01-22 17:09:40技术图书徽章
日期:2014-02-27 20:31:47巳蛇
日期:2014-09-22 10:25:32
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-11 11:56 |只看该作者 |倒序浏览
本帖最后由 dzminglong 于 2014-07-15 08:55 编辑

  写了个oracle的shell备份脚本,手动执行一点问题都没有
但是放在crond里面就执行不了,但是看crond的日志却是执行了,这是什么问题?

论坛徽章:
8
天秤座
日期:2013-09-02 09:10:44CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-11-20 16:38:31巨蟹座
日期:2013-12-18 13:03:34天秤座
日期:2013-12-31 13:28:40卯兔
日期:2014-01-22 17:09:40技术图书徽章
日期:2014-02-27 20:31:47巳蛇
日期:2014-09-22 10:25:32
2 [报告]
发表于 2014-07-11 12:01 |只看该作者
     同样的操作,另外一台倒是执行了,但是邮件却说执行失败,又是什么问题?

论坛徽章:
8
天秤座
日期:2013-09-02 09:10:44CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-11-20 16:38:31巨蟹座
日期:2013-12-18 13:03:34天秤座
日期:2013-12-31 13:28:40卯兔
日期:2014-01-22 17:09:40技术图书徽章
日期:2014-02-27 20:31:47巳蛇
日期:2014-09-22 10:25:32
3 [报告]
发表于 2014-07-11 12:03 |只看该作者
  1. #!/bin/bash
  2. email=/usr/local/bin/email
  3. DESTDIR=/path/backup
  4. if [ -d $DESTDIR ];then
  5.   echo "==backup start==" > /dev/null
  6. else
  7.   mkdir -p $DESTDIR
  8. fi
  9. rman target /   <<EOF
  10. run {
  11. allocate channel c1 type disk;
  12. allocate channel c2 type disk;
  13. backup format '$DESTDIR/full_%U_%T' skip inaccessible filesperset 5  DATABASE TAG orcl_hot_db_bk;
  14. sql 'alter system archive log current';
  15. backup format '$DESTDIR/arch_%U_%T' skip inaccessible filesperset 5 ARCHIVELOG ALL DELETE INPUT;
  16. backup current controlfile tag='bak_ctlfile' format='$DESTDIR/ctl_file_%U_%T';
  17. backup spfile tag='spfile' format='$DESTDIR/ORCL_spfile_%U_%T';
  18. release channel c2;
  19. release channel c1;
  20. }
  21. EOF
  22. if [ $? = 0 ];then
  23. echo "`date +%Y年%m月%d号`backup successfully" | $email -s "`date +%m月%d号`备份情况" xxx@xxx.com
  24. else
  25. echo "`date +%Y年%m月%d号`backup failed" | $email -s "`date +%m月%d号`备份情况" xxx@xxx.com
  26. fi

  27. ~                                                                                                                                                                                                                                                                             
  28. ~               
复制代码

论坛徽章:
8
天秤座
日期:2013-09-02 09:10:44CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-11-20 16:38:31巨蟹座
日期:2013-12-18 13:03:34天秤座
日期:2013-12-31 13:28:40卯兔
日期:2014-01-22 17:09:40技术图书徽章
日期:2014-02-27 20:31:47巳蛇
日期:2014-09-22 10:25:32
4 [报告]
发表于 2014-07-11 12:03 |只看该作者
  在线等答难解惑!

论坛徽章:
7
天蝎座
日期:2013-08-16 23:19:32丑牛
日期:2014-01-08 09:20:14寅虎
日期:2014-01-11 11:03:44午马
日期:2014-04-28 11:02:40天秤座
日期:2014-05-16 23:24:24摩羯座
日期:2014-07-20 10:46:04卯兔
日期:2014-08-08 15:21:41
5 [报告]
发表于 2014-07-11 18:23 |只看该作者
crond格式,权限,路径对吗

论坛徽章:
8
天秤座
日期:2013-09-02 09:10:44CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-11-20 16:38:31巨蟹座
日期:2013-12-18 13:03:34天秤座
日期:2013-12-31 13:28:40卯兔
日期:2014-01-22 17:09:40技术图书徽章
日期:2014-02-27 20:31:47巳蛇
日期:2014-09-22 10:25:32
6 [报告]
发表于 2014-07-11 20:14 |只看该作者
回复 5# www_xylove


    crond格式绝对正确,权限也有,我看了日志,计划执行了,路径也没错,就是执行完的结果为何是没有执行 {:3_188:}

论坛徽章:
17
天蝎座
日期:2014-03-10 14:35:04数据库技术版块每日发帖之星
日期:2015-12-13 06:20:00IT运维版块每日发帖之星
日期:2015-12-13 06:20:00数据库技术版块每日发帖之星
日期:2015-10-20 06:20:00数据库技术版块每日发帖之星
日期:2015-08-21 06:20:00数据库技术版块每日发帖之星
日期:2015-06-17 22:20:002015年迎新春徽章
日期:2015-03-04 09:57:092015年辞旧岁徽章
日期:2015-03-03 16:54:15技术图书徽章
日期:2015-01-12 17:05:35亥猪
日期:2014-11-09 13:05:04金牛座
日期:2014-09-25 11:28:54处女座
日期:2014-09-15 19:58:36
7 [报告]
发表于 2014-07-14 10:51 |只看该作者
最好提供一下crontab -l 的输出和计划执行与无结果的实际操作结果看一下才好判断。

论坛徽章:
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
8 [报告]
发表于 2014-07-14 23:33 |只看该作者
本帖最后由 phanx 于 2014-07-14 23:34 编辑

回复 1# dzminglong


    你这个问题确实很简单。 根源就是 环境变量

crontab在执行的时候,没有附带你 在 shell 下执行的那些变量,包括PATH环境变量。
所以,最好的方法是在你的脚本中在export 需要的变量,例如 ORACLE_HOME ORACLE_SID PATH 等。
然后就会正常执行了。

这个问题是常见错误。

论坛徽章:
0
9 [报告]
发表于 2014-07-14 23:48 |只看该作者
这脚本逻辑上来说太差劲了。
楼上说的确实重要,我也碰到过一次类似情况。
最好在脚本里export几个关键的环境变量,比如 PATH,ORACLE_SID,ORACLE_HOME.

论坛徽章:
8
天秤座
日期:2013-09-02 09:10:44CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-11-20 16:38:31巨蟹座
日期:2013-12-18 13:03:34天秤座
日期:2013-12-31 13:28:40卯兔
日期:2014-01-22 17:09:40技术图书徽章
日期:2014-02-27 20:31:47巳蛇
日期:2014-09-22 10:25:32
10 [报告]
发表于 2014-07-15 08:53 |只看该作者
回复 8# phanx


    非常感谢,我去试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP