如何?自動備份
本目錄中給出了五個.sh指令檔,它們的作用分別為:
1. export.sh——匯出資料庫中所有owner為zhaoilei的表
2. hotbackup.sh——對資料庫進行全庫備份
3. rm.sh——刪除無用的備份和匯出資訊
4. rmsh.sh——利用時間觸發前面三個指令檔
5. ftp.sh ——自動上傳到Web伺服器
關於上述指令碼有兩點說明:
1. 需要以Oracle使用者在/home/oracle下建立accountbk和expfile兩個目錄,分別存放全庫備份和匯出檔案
2. 定時備份需要在命令列輸入crontab /路徑/rmsh.sh
另外,使用者可以根據自己的安裝路徑和使用者名稱、密碼以及匯出的具體需要,修改這些指令碼。
如果備份的檔案編碼格式不正確,將export.sh修改成
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
註:此處的編碼要與 /home/oracle/.bash_profile中的NLS_LANG中的編碼一致即可。
自動備份注意事項:
1) 在命令列中判斷 crond是否啟動
a) /sbin/service crond status
b) 如果沒有啟動,切換到root使用者下輸入下列字元啟動crond
/sbin/service crond start
並將此語句加入
/etc/rc.d/rc.local
使crond自動啟動
c) 一切順利,修改 export.sh、hotbackup.sh、rm.sh、ftp.sh的屬性,選擇上執行許可權。
d) 在命令列下執行 export.sh看能否在expfile下組建檔案,如果可以則完成配置,如果不可以,根據提示的資訊修改export.sh檔案。
e) 輸入 crontab /home/oracle/rmsh.sh將自動備份檔案放入定時執行序列
ftp注意事項
1)如何在ftp中取得系統時間 extfile=`date +"%m_%d"`
2)如何在ftp中連接字串 file="fulltmp_"$extfile"_23_00.dmp"
附件為指令碼的壓縮檔/Files/mintqzy/sh.rar