利用crontab定时从数据库中导表出现的问题!
我在oracle用户下
crontab -e
40 10 * * * exp adanced/test tables=test file=test.dmp
可是到了10点40以后,我在/var/mail下收到一个邮件oracle,内容如下
/bin/sh: line 1: exp: command not found
这个问题如何解决啊?
各位老大,帮帮忙啊!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
你把这个定时任务放到root下,使用su - oracle用户的方式执行好象就可以了,应是一些环境变量设置的问题。
crontab对环境变量支持有限,调用外部程序最好写绝对路径
你说的意思是不是写一小段程序,引用一些环境变量(主要是oracle用户的环境),然后再执行exp?
你可以把exp前加上绝对路径试试看
$ORACLE_HOME/bin/exp,当然$ORACLE_HOME要换成实际的
小弟刚学linux,很菜
我在root下crontab 中
52 11 * * * ./home/oracle/wpy.txt
而wpy.txt内容为
su - oracle ./opt/ora9/product/bin/exp advanced/bossatitsdba file=wpyinfo.dmp tables=wpyinfo
wpy.txt已经有777的权限!
还是没有执行啊,请各位老大指教!
没有点,[.]/opt/ora9/product/bin/exp
我已经把./opt/ora9。。。前面那个.去掉了!可是还不执行!
大虾们,救命啊!
先试试看su - oracle /opt/ora9/product/bin/exp advanced/bossatitsdba file=wpyinfo.dmp tables=wpyinfo是否可以在sh下正常执行如果无问题建议直接写到crontab里边
如果非要用wpy.txt调用记得chmod 0755 /home/oracle/wpy.txt
建议买本基础的Linux书籍好好学习一下,对脑子充充电还是蛮有用的