Oracle使用expdp备份数据库
备份shell脚本 #!/bin/sh #获取当前时间 BACKUPTIME=$(date %Y%m%d) #数据库备份DATA_PUMP_DIR目录的绝对路径 DMPDIR=/u01/app/oracle/admin/orcl/dpdump #备份的文件名 DMPNAME=bk-$BACKUPTIME.dmp #导出日志文件 LOGNAME=bk-$BACKUPTIME.log #压缩后的文件 ZIPNAME=bk-$BACKUPTIME.dmp.zip
expdp 用户名/密码@实例名 directory=DATA_PUMP_DIR schemas=用户名 dumpfile=$DMPNAME logfile=$LOGNAME cd $DMPDIR zip -9 $ZIPNAME $DMPNAME rm -rf $DMPDIR/$DMPNAME
#删除30天以前的文件 find ./ -mtime 30 -name "bk-*" -exec rm -rf {} ;
创建定时任务
推荐linux中使用oracle用户环境执行crontab任务。加入**. ~/.bash_profile;**是为了获取用户的环境变量,因为在测试中出现expdp命令不能使用的情况。 crontab -e 30 1 * * * . ~/.bash_profile; /bin/sh /home/oracle/autoBackupOracle.sh