需要每天自动备份oracle数据库(用exp导出几个表),尝试用crontab来执行。我写了一段shell脚本如下:
#!/bin/sh
#name:backupdb.sh
exp system/manager tables=students log=/usr/hezhiroy/xxx.log file=/usr/hezhiroy/xxx.dmp >/dev/null 2>$1
这个脚本在终端下手动执行一点问题没有,当我把它加到crontab文件中:0 3 * * * /usr/hezhiroy/backupdb.sh >yyy.log后,用crontab -l 也可以看到该条目,可是到了指定的时间,其它的条目都顺利执行,唯独这一条不行,请高手指点!!!
(我这两天一共只睡了10个小时,程序员的命真苦啊......呵呵,祝大家新年快乐)
#!/bin/sh
#name:backupdb.sh
exp system/manager tables=students log=/usr/hezhiroy/xxx.log file=/usr/hezhiroy/xxx.dmp >/dev/null 2>$1
这个脚本在终端下手动执行一点问题没有,当我把它加到crontab文件中:0 3 * * * /usr/hezhiroy/backupdb.sh >yyy.log后,用crontab -l 也可以看到该条目,可是到了指定的时间,其它的条目都顺利执行,唯独这一条不行,请高手指点!!!
(我这两天一共只睡了10个小时,程序员的命真苦啊......呵呵,祝大家新年快乐)
#!/bin/sh
#name:backupdb.sh
exp system/manager tables=students log=/usr/hezhiroy/xxx.log file=/usr/hezhiroy/xxx.dmp >/dev/null 2>$1
#!/bin/sh
#name:backupdb.sh
exp system/manager tables=students log=/usr/hezhiroy/xxx.log file=/usr/hezhiroy/xxx.dmp >/dev/null 2>$1
2.在d:\数据库备份目录下建立5个批处理文件,如:星期一.bat(可为7个);
3.编辑星期一.bat,写入:
exp system/manager owner=(test1) file=d:\数据库备份\星期一\test1.dmp
log=d:\数据库备份\星期一\test1.log buffer=655000;
(注意有几个库写几个)
4.将批理文件加入“控制面板”、“任务计划”、“备份”、“每天”,时间可为凌晨1-3点,OK!
在SHELL脚本中把ORACLE的环境变量都加上
主要相关的 我记得是ORACLE_HOME,PATH,LD_LIBRARY_PATH等等,别的最好也加上,反正是粘贴拷贝
export ORACLE_SID=....
把这两句加到你的脚本前面,然后就可以了