Linux伺服器編寫Oracle資料庫定時備份指令碼

2021-10-07 15:21:19 字數 1497 閱讀 7896

#!/bin/sh

export oracle_home=$oracle_base/product/11.2.0

export oracle_sid=orcl

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.zhs16gbk

date=$(date +%y_%m_%d)   #獲取系統當前日期時間

days=7  #設定刪除7天之前的備份檔案

orsid=192.168.70.227:1521/orcl  #oracle資料庫伺服器ip、埠、sid

orowner=yyy  #備份此使用者下面的資料

bakuser=yyy  #用此使用者來執行備份,必須要有備份操作的許可權

bakpass=yyy  #執行備份的使用者密碼

bakdir=/home/backup/oracledata  #備份檔案路徑,需要提前建立好

bakdata=$orowner"_"$date.dmp #備份資料庫名稱

baklog=$orowner"_"$date.log #備份執行時候生成的日誌檔名稱

ordatabak=$orowner"_"$date.tar.gz #最後儲存的oracle資料庫備份檔案

cd $bakdir #進入備份目錄

mkdir -p $orowner #按需要備份的oracle使用者建立目錄

cd $orowner #進入目錄

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 {} \;  #刪除7天前的備份(注意:{} \中間有空格)

datasource=$bakdir/$orowner/$ordatabak

datadest=/home/databackup/product/data

cd $datadest #進入目錄

mkdir -p $date 

cp -r $datasource $datadest/$date

svrver伺服器編寫

include include include include include see notes include include include int main printf create listenfd d success n listenfd int opt 1 setsockopt li...

linux伺服器 shell指令碼 編寫定時器

時間 2016 08 20 15 49 40 麥穗技術 原文 主題shell linux下編寫shell指令碼,每天自動清理tomcat的catalina.out檔案內容,保證catalina.out都是當天的日誌。直接上內容咯 1.auto clear currday catalina out c...

編寫自己的伺服器

由於學習介面測試,對伺服器的原理產生濃厚興趣,對最近的收穫做個總結 由於瀏覽器本身就是客戶端,對伺服器進行發報並接受回報,進行解析顯示,所以客戶端就不進行編寫 伺服器 我主要遇到的問題是bind的ip及埠選取,bind的意思是設定伺服器的ip,這個如果是自己嘗試一般都是使用本機的ip即可,埠則是通過...