免费注册 查看新帖 |

Chinaunix

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

crontab疑惑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-04 15:53 |只看该作者 |正序浏览
用oracle用户(crontab -e)做了一个定时任务:

[oracle@localhost dp]$ crontab -l
49 15 * * * /dbbackup/dp/test.sh

[oracle@localhost dp]$ cat test.sh
touch /dbbackup/dp/aa
echo mengxing>aa

我单独执行./test.sh可以生成aa文件且把第二行的数据写入到了aa文件中,可是我把这个shell作为定时任务来执行的时候只生成了aa文件,没有把第二行的内容写入到第一行创建的aa文件中,就好像这个定时任务只执行了脚本中第一行的内容,请大家解释一下,如果要两行脚本内容都执行该怎么写呢?谢谢!

论坛徽章:
0
21 [报告]
发表于 2011-11-09 10:29 |只看该作者
用su - oracle 吧

论坛徽章:
2
金牛座
日期:2014-09-22 15:40:012015年亚洲杯之韩国
日期:2015-04-21 10:54:01
20 [报告]
发表于 2011-11-07 13:52 |只看该作者
还有,你把你要用的可执行文件都做成变量声明出来,这样,基本上手动能做的工作都可以用脚本来做了

论坛徽章:
2
金牛座
日期:2014-09-22 15:40:012015年亚洲杯之韩国
日期:2015-04-21 10:54:01
19 [报告]
发表于 2011-11-07 13:48 |只看该作者
第二行加上set -xv执行下看看结果,贴上图哦
如果手工执行正常,你切换到根目录用绝对路径执行一下看看

论坛徽章:
0
18 [报告]
发表于 2011-11-07 12:03 |只看该作者
回复 16# hsrenqing


   哪里不对啊?? 之前做计划的时候都挺顺利的~~

论坛徽章:
0
17 [报告]
发表于 2011-11-07 10:54 |只看该作者
{:2_167:}好贴

论坛徽章:
2
金牛座
日期:2014-09-22 15:40:012015年亚洲杯之韩国
日期:2015-04-21 10:54:01
16 [报告]
发表于 2011-11-07 10:32 |只看该作者
你的脚里还是有不对的地方,呵呵,建议加上在第二行加上 set -xv 自己调试下看看哦

论坛徽章:
0
15 [报告]
发表于 2011-11-07 09:30 |只看该作者
补充点日志/var/spool/mail/oracle的内容,是不是环境变量没生效??
Export: Release 11.2.0.2.0 - Production on Mon Nov 7 09:20:01 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

UDE-12162: operation generated ORACLE error 12162
ORA-12162: TNS:net service name is incorrectly specified

From oracle@localhost.localdomain  Mon Nov  7 09:26:01 2011
Return-Path: <oracle@localhost.localdomain>
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
        by localhost.localdomain (8.13.8/8.13. with ESMTP id pA71Q1N5027172
        for <oracle@localhost.localdomain>; Mon, 7 Nov 2011 09:26:01 +0800
Received: (from oracle@localhost)
        by localhost.localdomain (8.13.8/8.13.8/Submit) id pA71Q1g4027171;
        Mon, 7 Nov 2011 09:26:01 +0800
Date: Mon, 7 Nov 2011 09:26:01 +0800
Message-Id: <201111070126.pA71Q1g4027171@localhost.localdomain>
From: root@localhost.localdomain (Cron Daemon)
To: oracle@localhost.localdomain
Subject: Cron <oracle@localhost> /dbbackup/dp/dp.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/oracle>
X-Cron-Env: <ATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=oracle>
X-Cron-Env: <USER=oracle>

论坛徽章:
0
14 [报告]
发表于 2011-11-07 09:14 |只看该作者
谢谢楼上各位的指点!
我用如下的方式怎么还是不行呢?我的环境变量与.bash_profile中一致了,望帮忙看看,谢谢!
oracle@localhost dp]$ ll
-rwxrwxrwx 1 oracle oinstall 365 11-07 09:08 dp.sh
-rwxr-xr-x 1 oracle oinstall  52 11-04 16:02 test.sh

[oracle@localhost dp]$
[oracle@localhost dp]$ crontab -l
10 9 * * * /dbbackup/dp/dp.sh

[oracle@localhost dp]$ cat dp.sh
#!/bin/bash
ORACLE_BASE=/app/db/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
export PATH=$ORACLE_HOME/binPATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
/app/db/oracle/product/11.2.0/dbhome_1/bin/expdp infocollect/infocollect  schemas=infocollect dumpfile=infocollect.dmp logfile=infocollect.log directory=dpdata


[oracle@localhost dp]$ cat /home/oracle/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

ORACLE_BASE=/app/db/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
export PATH=$ORACLE_HOME/binPATH
export ORACLE_SID=orcl
alias sqlp='sqlplus / as sysdba'

论坛徽章:
0
13 [报告]
发表于 2011-11-06 21:52 |只看该作者
同意11楼,建议下次遇到问题,多看看/var/log/cron 分析下执行结果是否报错。
另外也可以分析下系统提示邮件/var/spool/mail/root
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP