免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lemonyw
打印 上一主题 下一主题

帮忙看看crontab 不执行自动备份脚本的问题啊 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-09-17 12:53 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

0 23 * * * /opt/ora9/ora-backup.sh

论坛徽章:
0
12 [报告]
发表于 2004-09-17 14:24 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

3,5,7,9,13,15,17,19,21,23,25,27,29,33,35,37,39,43,45,47,49,53,55,57,59 * * * * /home/oracle/test1.sh

我这样的,为什么不能执行??我直接在命令行敲/home/oracle/test1.sh边鼓可以执行.

3,5,7,9,13,15,17,19,21,23,25,27,29,33,35,37,39,43,45,47,49,53,55,57,59 * * * * /home/oracle/test1.sh >;>;haha.txt

haha.txt可以生成,说明crontab已经起作用了.
但是/home/oracle/test1.sh 的任务始终没有执行.
test1.sh内容:
sqlplus xx/haha @/home/test/sql.txt
sql.txt的内容:
insert into sys_ping (ip,received,used,min,avg,max,time) values ('localhost','4','2997ms','0.037','0.068','0.087','2004年09月09日
14时38分');
commit;
exit
--------------------------------
哪位大虾帮帮我们啊.

论坛徽章:
0
13 [报告]
发表于 2004-09-17 15:01 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

在你的shell开始处把你写的ORACLE_HOME=$ORACLE_HOME;export $ORACLE_HOME换成
export $ORACLE_HOME=/oracle/9.2.0
再看看对不对,
其中/oracle/9.2.0是你自己oracle的目录

论坛徽章:
0
14 [报告]
发表于 2004-09-17 15:12 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

脚本执行的时候并不是以oracle用户执行,因此需要设定相应环境变量,比如ORACLE_HOME,ORACLE_SID

论坛徽章:
0
15 [报告]
发表于 2004-09-18 01:00 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

现在的test1.sh
# Oracle Environment
export DISPLAY="192.168.1.1:0.0"
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=/usr/local/oracle/product/9.2.4
export ORACLE_SID=test1
export ORACLE_TERM=xterm
#export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths
PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin PATH=$PATH:/opt/local/bin:/opt/NSCPnav/b
inORACLE_HOME/bin
PATH=$PATH:/usr/local/samba/bin:/usr/ucb:
export PATH
sqlplus xx/haha @/home/test/sql.txt
----------------------------------------------------------
还是不行啊.真是太郁闷了.

论坛徽章:
0
16 [报告]
发表于 2004-09-19 10:28 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

把sqlplus xx/haha @/home/test/sql.txt
改成
sqlplus -S xx/haha << EOF
@/home/test/sql.txt
EOF

论坛徽章:
0
17 [报告]
发表于 2004-09-19 11:24 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

搞定啦,谢谢各位,总结一下:
1,环境变量的问题:
   刚开始确实没注意到那个$oracle_home写成那样子,简直是白痴,试完之后知道下面三个是必不可少的变量,其他的无所谓,没有也一样:
export ORACLE_HOME=/your dir;  
export ORACLE_SID=your sid;
export PATH=$ORACLE_HOME/binPATH;
2.这个脚本一定要设成+x的模式。
3.crontab的写法:
    有6个域,缺一不可,当初我弄的时候不知道看得哪的说设了月份日期就不用设星期啦,不可以,还有0和00的效果一样。
4.加完自动执行以后,不必要重启crond服务,它只要开着就行了,crond每分钟会自动搜索/cron下的文件的。
5.  用crontab -e以后,既可在/var/spool/cron/ 下见到一个oracle文件(如果是unix,此文件位于/var/spool/cron/crontabs下)。否则肯定是你的crontab写错了。
    到时间以后无论执行情况怎么样,会在/var/mail下有一个同用户名的文件,那里是执行结果,看看吧。
6.没办法,造成这些问题的原因就是学艺不精啊,基础不扎实,好好看书吧。

论坛徽章:
0
18 [报告]
发表于 2004-09-19 15:53 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

将ora-backup.sh 改为
.   /oracle/ora-env
exp usr/pwd file=usr.dmp

论坛徽章:
0
19 [报告]
发表于 2004-09-19 22:06 |只看该作者

帮忙看看crontab 不执行自动备份脚本的问题啊

在开始的地址设置一个shell变量
如cshell的话,一般都需要加上#!/bin/sh ,这样试试?

论坛徽章:
0
20 [报告]
发表于 2008-01-09 00:17 |只看该作者
感谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP