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