Linux定時備份資料庫與指令碼加密

梓沐發表於2016-02-15

1.建立備份目錄

mkdir /home/oracle/backup

2.授權對應許可權

chmod +x backup.sh

chown oracle.oinstall /home/oracle/backup

3.oracle字符集查詢

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')

----------------------------------------------------

AMERICAN_AMERICA.ZHS16GBK

4.backup.sh指令碼內容

#!/bin/bash

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$PATH

export DAYS=`date -d "15 days ago" +'%Y%m%d'`

export BAKUPTIME=`date +'%Y%m%d%H%M'`

echo "Starting bakup..."

exp scott/tiger@orcl file=/home/oracle/backup/$BAKUPTIME.dmp log=/home/oracle/backup/$BAKUPTIME.log

echo "Starting zip..."

cd /home/oracle/backup/

zip -m $BAKUPTIME.zip $BAKUPTIME.dmp $BAKUPTIME.log

echo "Delete the file bakup before 15 days..."

rm -rf /home/oracle/backup/$DAYS*.dmp

echo "Delete the file bakup successfully. "

echo "Bakup completed."

5.定時任務

--切換oracle使用者

su - oracle

--編輯定時任務檔案

crontab -e

--每天的凌晨2,中午12點,晚上18點執行backup.sh

0 2,12,18 * * * /home/oracle/backup/backup.sh

--重啟crond服務

service crond restart

--檢視每天會收到mail

cat /var/spool/mail/oracle

6.如有必要可以對指令碼進行加密

第一種:

--下載shc檔案(官網下載地址: ~frosal/sources/)

--解壓檔案

tax xf shc-3.8.3.tgz

cd shc-3.8.3

--執行安裝

make test && make strings && make install

--執行加密

shc -r -f backup.sh

第二種:

gzexe backup.sh


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

相關文章