linux系統定時備份oracle

1.備份腳本


#!/bin/bash
#:本腳本自動備份7天的數據庫,每次備份完成後,刪除7天之前的數據。
#加載oracle的相關參數
#如果oracle參數不明確,請使用命令查看
# su - oracle 
# echo $ORACLE_HOME
# #如果是在windows中編輯命令上傳腳本之後需要執行下面的命令轉化爲unix格式
#sed -i 's/\r$//' back-up.sh 
# 注意在編輯完腳本之後需要設置執行權限 chmod 755 back-up.sh

export ORACLE_HOME=/oracle/app/oracle/product/12.1.0/bzfg
export PATH=$ORACLE_HOME/bin:$PATH
#oracle字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#獲取當前時間,格式:20150210
DATE=$(date +%Y%m%d)
#獲取7天之前的時間,格式:20150203
DATE_RM=$(date -d "7 days ago" +%Y%m%d)
#設置備份目錄,
export DIR=/oracle/app/oracle/product/12.1.0/backup
echo $DIR
#創建日期目錄
mkdir $DIR/$DATE
#開始備份,此處採用exp方式導出,根據實際情況可選用expdb數據方式導出
echo 'Oracle backup...'
cd /oracle/app/oracle/product/12.1.0/bzfg/bin
./exp bzfg/bzfg1234@bzfg  file=$DIR/$DATE'/bzfg_'$DATE'.dmp' owner=bzfg log=$DIR/$DATE'/bzfg_log_'$DATE'.log'
echo 'Oracle backup successfully.'
echo 'remove...' $DIR/$DATE_RM
rm -rf $DIR/$DATE_RM
echo 'remove successsfully.'

 

2.設置每晚定時執行

vi /etc/crontab  設置定時任務,插入如下(每天凌晨1點執行一次)
00 01 * * * root /oracle/app/oracle/product/12.1.0/backup/back-up.sh

用以下的方法啓動、關閉這個cron服務: 
 

service crond start //啓動服務 
service crond stop //關閉服務 
service crond restart //重啓服務 
service crond reload //重新載入配置

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章