使用crontab和expdp實現資料庫定期邏輯備份

djb1008發表於2014-05-23
$crontab -l
10 23 * * 0,1,3,5 /backup/exp_fulldb.sh
45 22 * * 0 /backup/del_obsolete.sh
0 20 1 * * /backup/del_nohup_out.sh

crontab列表解釋
每週日,一,三五晚上23:10 ,執行/backup/exp_fulldb.sh,進行資料庫的全庫邏輯備份.
每週日22:45分,清除上一週的備份集檔案,防止備份目錄空間不足.
每月1日20:00,刪除/backup/nohup.out檔案.nohup.out檔案記錄了上一個月的備份日誌情況.



$more /backup/exp_fulldb.sh
nohup expdp system/root_123 directory=imp_dir dumpfile=dbcenter_full_$(date +%Y%m%d%H%M)_%U.dmp cluster=n parallel=16 filesize=30g l
ogfile=dbcenter_full_$(date +%Y%m%d%H%M).log full=y &

備註:使用資料泵進行資料庫邏輯匯出,同時根據時間生成備份集的檔名,避免檔名重複.

$more /backup/del_obsolete.sh
rm -rf /backup/*.dmp
rm -rf /backup/*.log

$more /backup/del_nohup_out.sh
rm -rf /backup/nohup.out

備份後/backup目錄的內容如下:
$ ls -lt
total 31030100
-rw-r----- 1 oracle oinstall 2461114368 May 23 17:07 dbcenter_full_201405231653_02.dmp
-rw-r----- 1 oracle oinstall 2624397312 May 23 17:07 dbcenter_full_201405231653_03.dmp
-rw-r----- 1 oracle oinstall 2403418112 May 23 17:07 dbcenter_full_201405231653_04.dmp
-rw-r----- 1 oracle oinstall 2264018944 May 23 17:07 dbcenter_full_201405231653_05.dmp
-rw-r----- 1 oracle oinstall 2187218944 May 23 17:07 dbcenter_full_201405231653_06.dmp
-rw-r----- 1 oracle oinstall 2356625408 May 23 17:07 dbcenter_full_201405231653_08.dmp
-rw-r----- 1 oracle oinstall 2132647936 May 23 17:07 dbcenter_full_201405231653_09.dmp
-rw-r----- 1 oracle oinstall 2068774912 May 23 17:07 dbcenter_full_201405231653_10.dmp
-rw-r----- 1 oracle oinstall 1738346496 May 23 17:07 dbcenter_full_201405231653_11.dmp
-rw-r----- 1 oracle oinstall 1783275520 May 23 17:07 dbcenter_full_201405231653_13.dmp
-rw-r----- 1 oracle oinstall 1477828608 May 23 17:07 dbcenter_full_201405231653_14.dmp
-rw------- 1 oracle oinstall      15959 May 23 17:07 nohup.out
-rw-r--r-- 1 oracle oinstall      15809 May 23 17:07 dbcenter_full_201405231653.log
-rw-r----- 1 oracle oinstall 2122567680 May 23 17:07 dbcenter_full_201405231653_07.dmp
-rw-r----- 1 oracle oinstall 1850421248 May 23 17:07 dbcenter_full_201405231653_15.dmp
-rw-r----- 1 oracle oinstall 2598641664 May 23 17:07 dbcenter_full_201405231653_01.dmp
-rw-r----- 1 oracle oinstall 1673379840 May 23 17:07 dbcenter_full_201405231653_12.dmp
-rw-r----- 1 oracle oinstall     933888 May 23 17:05 dbcenter_full_201405231653_16.dmp
-rwxr-xr-x 1 oracle oinstall        187 May 23 16:53 exp_fulldb.sh
-rwxr-xr-x 1 oracle oinstall         25 May 23 16:50 del_nohup_out.sh
-rwxr-xr-x 1 oracle oinstall         43 May 23 16:48 del_obsolete.sh
drwxr-xr-x 2 oracle oinstall      16384 May 21 10:38 lost+found

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/32980/viewspace-1168531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章