之前我在linux crontab有提到第乙個指令碼
#!/bin/bash
#oracle變數設定
export oracle_base=/data/oracle
export oracle_home=/oracle/product/102
export oracle_sid=sidname
export oracle_term=xterm
export path=$oracle_home/bin:/usr/sbin:$path
export ld_library_path=$oracle_home/lib:/lib:/usr/lib
export lang=c
export nls_lang=american_america.al32utf8
#以上**為oracle資料庫執行賬號oracle的系統環境變數設定,必須新增,否則crontab任務計畫不能執行。
date=date +%y_%m_%d #獲取系統當前日期時間
days=5
#設定刪除5天之前的備份檔案
orsid=ip:port/sidname #oracle資料庫伺服器ip、埠、sid
orowner=master_ccpx2 #備份此使用者下面的資料
bakuser=master_ccpx2 #用此使用者來執行備份,必須要有備份操作的許可權
bakpass=passwd #執行備註的使用者密碼
bakdir=/aaa/bbb/oracle_data #備份檔案路徑,需要提前建立好
bakdata=$orowner
"_"$date.dmp #備份資料庫名稱
baklog=$orowner
"_"$date.log #備份執行時候生成的日誌檔名稱
ordatabak=$orowner
"_"$date.tar.gz #最後儲存的oracle資料庫備份檔案
cd$bakdir
#進入備份目錄
mkdir -p $orowner
#按需要備份的oracle使用者建立目錄
cd$orowner
#進入目錄
#匯出資料庫 這裡使用了exp 可以根據需要使用expdp
exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog
#執行備份
tar -zcvf $ordatabak
$bakdata
$baklog
#壓縮備份檔案和日誌檔案
find $bakdir/$orowner -type f -name "*.log" -exec rm {} \; #刪除備份檔案
find $bakdir/$orowner -type f -name "*.dmp" -exec rm {} \; #刪除日誌檔案
find $bakdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \; #刪除5天前的備份
#路徑名,指定備份的路徑
filepath = /oracle/orabak
#根據指定日期格式,定義備份資料庫檔名
filename = `date + %y%m%d_%h%m
#切換至指定路徑,並建立資料夾
cd$filepath
mkdir $filename
chmod 775
$filename
#oracle變數設定
export user=oracle;
export oracle_sid=orcl;
export path=$oracle_home/bin:$path;
#匯出資料庫 這裡使用了exp 可以根據需要使用expdp
exp scott/tiger@orcl file="$filename ".dmp log="$filename".log owner=scott rows=y
#打包+加壓
cd ..
tar -cf $filename.tar $filename
rm -rf $filename
gzip $filename.tar
exit
eof
linux使用crontab -e命令增加定時任務:
10 12 * * * sh /oracle/orabak/orabak.sh
oracle 自動備份指令碼
echo 設定備份檔案存放資料夾.set tbuf e echo 設定備份檔案名 以星期幾命名,即備份檔案只儲存最近一周 set name date set name name 3 set name orcl backup name echo 是否存在同名檔案,若存在則刪除同名檔案.ifexist ...
自動備份指令碼
功能 打包檔案列表中的檔案,存為帶日期標籤的檔案,每天定時備份一次,同時為避免備份量過大,只保留每月底和近一周的副本,最多共18個備份。windows下 backup.cmd rem echo off rem configure rar tool path set rartool c program...
指令碼自動備份Oracle資料庫
bin sh export oracle home oracle base product 11.2.0 dbhome 1 export oracle sid orcl export oracle term xterm export path oracle home bin usr sbin pat...