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