- 论坛徽章:
- 0
|
我写了一个shell,用来导出Oracle数据库数据,如下:\r\nback.sh (权限允许所有用户执行)\r\n# /bin/sh \r\nyear=`date +%Y`\r\nmonth=`date +%m`\r\nday=`date +%d`\r\nnow=$year-$month-$day\r\n\r\nexp user/passwd@mydb file=/export/home/my/my_$now.dmp\r\n\r\n我用crontab -e在oracle建立了定时队列如下:\r\n30 * * * * /export/home/public/back.sh\r\n但是back.sh执行后并/export/home/my/下没有dmp文件\r\n\r\n我用一个测试shell,如下:\r\ntest.sh\r\ncp /export/home/public/afile /export/home/my/afile\r\n\r\n用crontab -e在oracle建立了定时队列如下:\r\n45 * * * * /export/home/public/test.sh\r\n该定时程序执行后,文件被copy到了/export/home/my/下\r\n\r\n我观察了cron的日志/var/cron/log,如下:\r\n>; CMD: /export/home/public/back.sh\r\n>; oracle 10443 c 三 12月 10 15:30:00 2003\r\n< oracle 10443 c 三 12月 10 15:30:00 2003 rc=1\r\n/etc/mail/sendmail.cf: line 77: fileclass: cannot open /etc/mail/local-host-names: World writable directory\r\n/etc/mail/sendmail.cf: line 472: fileclass: cannot open /etc/mail/trusted-users: World writable directory\r\n>; CMD: /export/home/public/test.sh\r\n>; oracle 10393 c 三 12月 10 15:45:00 2003\r\n< oracle 10393 c 三 12月 10 15:45:00 2003\r\n\r\n我感觉back.sh也执行了,什么没有输出。\r\n我如果直接执行back.sh, 可以输出dmp文件。\r\n我很奇怪为什么放在crontab中exp就不行了,而随便用cp等命令测试就可以,是不是我有哪些配置有问题?\r\n哪位高手给指点一下?\r\n\r\n运行环境SUN ULTRA 60 Solaris 8 + oracle 9i release1 标准版  |
|