免费注册 查看新帖 |

Chinaunix

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

关于crontab不执行的问题,急! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-05 18:40 |只看该作者 |倒序浏览
应客户要求,做oracle的exp和imp的脚本自动备份和恢复测试,单独运行脚本可以执行(虽然有warnings),但是加入到crontab后,始终无法自动执行,后来查看/var/cron/log发现如下错误:\r\n\r\n! *** cron started ***   pid = 185 Mon Dec  4 15:15:12 2006\r\n! bad user (oracle) Tue Dec  5 01:00:00 2006\r\n>  CMD: /export/home/oracle/exp.sh\r\n>  oracle 1048 c Tue Dec  5 01:00:00 2006\r\n<  oracle 1048 c Tue Dec  5 01:00:00 2006 rc=1\r\n>  CMD: [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1\r\n>  root 1057 c Tue Dec  5 02:01:00 2006\r\n<  root 1057 c Tue Dec  5 02:01:00 2006 rc=1\r\n>  CMD: /usr/sbin/logadm\r\n>  root 1068 c Tue Dec  5 03:10:00 2006\r\n<  root 1068 c Tue Dec  5 03:10:00 2006\r\n>  CMD: [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean\r\n>  root 1082 c Tue Dec  5 03:30:00 2006\r\n<  root 1082 c Tue Dec  5 03:30:00 2006\r\n>  CMD: /export/home/oracle/sys_imp.sh\r\n>  oracle 1811 c Tue Dec  5 17:10:00 2006\r\n! bad user (oracle) Tue Dec  5 17:10:00 2006\r\n<  oracle 1811 c Tue Dec  5 17:10:00 2006 rc=1\r\n! bad user (oracle) Tue Dec  5 18:00:00 2006\r\n>  CMD: su - oracle -c \"/export/home/oracle/sys_exp.sh\"\r\n>  oracle 1877 c Tue Dec  5 18:00:00 2006\r\n<  oracle 1877 c Tue Dec  5 18:00:00 2006 rc=1\r\n! bad user (oracle) Tue Dec  5 18:10:00 2006\r\n>  CMD: su - oracle -c \"/export/home/oracle/sys_imp.sh\"\r\n>  oracle 1888 c Tue Dec  5 18:10:00 2006\r\n<  oracle 1888 c Tue Dec  5 18:10:00 2006 rc=1\r\n\r\n如何解决这bad user....?请高手赐教,很着急,十分感谢!

论坛徽章:
0
2 [报告]
发表于 2006-12-05 19:33 |只看该作者
你用什么用户做crontab?\r\n你crontab -l 来看看。\r\n另把oracle的环境变量SID等加入到shell里。

论坛徽章:
0
3 [报告]
发表于 2006-12-05 22:35 |只看该作者
我是用oracle用户做的。\r\ncrontab -l下有计划:00 17 * * * su - oracle -c \"/export/home/oracle/sys_exp.sh\"\r\noracle的环境变量SID等也已经加入到shell里了。\r\n但是,it still does not work automatic yet...

论坛徽章:
0
4 [报告]
发表于 2006-12-05 22:54 |只看该作者
00 17 * * * su - oracle -c \"/export/home/oracle/sys_exp.sh\"\r\n你不是用oracle用户做的crontab ?\r\n怎么又 su - oracle啊?\r\n直接 00 17 * * *  /export/home/oracle/sys_exp.sh

论坛徽章:
0
5 [报告]
发表于 2006-12-05 23:30 |只看该作者
是oracle怎么su - oracle? 要输入密码的,要么用root su - oracle -c \"command\"\r\n要么在oracle用户下直接做,不用su

论坛徽章:
0
6 [报告]
发表于 2006-12-06 10:13 |只看该作者
你之前是sudo 到oracle用户下执行的么?

论坛徽章:
0
7 [报告]
发表于 2006-12-06 11:42 |只看该作者
一开始我就是直接在oracle用户下作的,没有用su,但是因为始终没有反应,才加上su试试的。\r\n从顶上的log应该也可以看得出来,我就不明白为什么会是bad user.

论坛徽章:
0
8 [报告]
发表于 2006-12-06 14:34 |只看该作者
我又重新做了一次crontab,过程如下:\r\nroot创建一个文本test.cron存于/目录下,\r\n#chmod a+w test.cron\r\n#su - oracle\r\nbash-2.05$vi test.cron\r\n00 14 * * * /export/home/oracle/sys_exp.sh\r\n10 14 * * * /export/home/oracle/sys_imp.sh\r\n~\r\n~\r\n~\r\n\"test.cron\" 2 lines, 86 characters\r\nbash-2.05$ crontab test.cron\r\nbash-2.05$ crontab -l\r\n00 14 * * * /export/home/oracle/sys_exp.sh\r\n10 14 * * * /export/home/oracle/sys_imp.sh\r\n\r\n到点,查看/var/cron/log,仍然报bad user:\r\n! *** cron started ***   pid = 185 Wed Dec  6 11:50:01 2006\r\n>  CMD: /export/home/oracle/sys_exp.sh\r\n>  oracle 658 c Wed Dec  6 14:00:00 2006\r\n! bad user (oracle) Wed Dec  6 14:00:00 2006\r\n<  oracle 658 c Wed Dec  6 14:00:00 2006 rc=1\r\n! bad user (oracle) Wed Dec  6 14:10:00 2006\r\n>  CMD: /export/home/oracle/sys_imp.sh\r\n>  oracle 662 c Wed Dec  6 14:10:00 2006\r\n<  oracle 662 c Wed Dec  6 14:10:00 2006 rc=1\r\n\r\n为什总是报bad user呢?到底是哪儿不对呢?怎么样解决啊?头都大了...

论坛徽章:
0
9 [报告]
发表于 2006-12-06 16:35 |只看该作者
直接用oracle用户写cron吧\r\n#su - oracle\r\n$EDITOR=vi;export EDITOR---------如果是C shell,$setenv EDITOR vi\r\n$crontab 还是$crontab -e我忘记了 \r\n>00 14 * * * /export/home/oracle/sys_exp.sh\r\n>10 14 * * * /export/home/oracle/sys_imp.sh\r\n\r\n另外/etc/cron.d/目录下还有cron.allow和cron.deny两个文件可以控制crontab的执行\r\n用/etc/cron.d/cron.deny和/etc/cron.d/cron.allow文件来控制对crontab命令的访问,其作用规则同at命令的访问控制,执行优先级为cron.allow>cron.deny具体如下:\r\n1.        当存在cron.allow文件时,只有此文件中列出的用户可以执行crontab(如果为空所有人都没权限)\r\n2.        当仅有cron.deny文件存在时,只有此文件中列出的用户不能执行crontab\r\n3.        当两者都不存在时,除了root用户 所有人都不能访问crontab

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
10 [报告]
发表于 2006-12-06 18:02 |只看该作者
原帖由 yuhuohu 于 2006-12-6 16:35 发表\r\n3.        当两者都不存在时,除了root用户 所有人都不能访问crontab  ...
\r\n\r\ncrontab -e\r\n\r\n怀疑bad user是“两者都不存在”引起的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP