CentOSでOracle11gR2自動バックアップと一週間前のファイルを削除する

1.データディレクトリの権限設定
#mkdir -p /backup/databak
#chown -R oracle:oinstall /backup/databak -R

2.Oracleのバックアップ
#vim /backup/databak/ordatabak.sh
#!/bin/sh
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
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
orsid=`172.17.200.12:1521/orcl`
orowner=jiemu
bakuser=jiemu
bakpass=jiemu
bakdir=/backup/databak
bakdata=$orowner"_"$date.dmp
baklog=$orowner"_"$date.log
ordatabak=$orowner"_"$date.tar.gz

cd $bakdir
mkdir -p $orowner
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 {} \;

:wq
#chmod +x /backup/databak/ordatabak.sh

3.crontabの設定
#vim /etc/crontab
40 4 * * * oracle /backup/databak/ordatabak.sh
:wq!
#service crond restart

Linux

Posted by arkgame