大型商業系統需異地容災備份。本文提供一套在 Sun Solaris 雙機(主/備)環境下,利用 Oracle Export、FTP 自動傳輸、Crontab 排程實現每日異地自動備份的完整腳本與設定。
exp userid=mistest/test file=/backup/exp$(date +%m%d).dmp~/.netrc 實現無人值守傳輸。選項 -i 關閉互動提示,-n 禁止自動登入。/var/spool/cron/crontabs/oracle 設定執行時間與指令。testbackupORACLE_HOME=/export/home/oracle/815; export ORACLE_HOME
ORACLE_SID=ora815; export ORACLE_SID
rm /export/home/oracle/backup/*
rq=`date +%m%d`
/export/home/oracle/815/bin/exp mistest/test file=/export/home/oracle/backup/exp$rq.dmp log=/export/home/oracle/backup/exp$rq.log
說明:初始化環境 → 清空備份目錄 → 以日期命名備份檔 → 執行完整匯出。
~/.netrcmachine x.x.x.x
login oraclebk
password testbk2
macdef init
bin
lcd /export/home/oracle/backup
cd /data/oradata/backup
mput *
bye
設定完成後 chmod 600 ~/.netrc 確保權限。
10 23 * * * /export/home/oracle/testbackup
30 23 * * * ftp -i x.x.x.x
每日 23:10 執行備份,23:30 啟動 FTP 傳輸至備份主機。
crontab -l 檢視排程;/var/spool/cron/crontabs/oracle 確認檔案存在。此方案以標準工具串接,無需額外軟體授權,實現低成本、可靠的異地自動備份,大幅減輕 DBA 重複操作負擔。