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