oracle使用expdp定时备份数据库

  • 2020 年 3 月 16 日
  • 筆記

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