mkdir /backup --建立backup文件夾數據庫
cd / --進入cd語句oracle
ls -l --查看文件的信息測試
id oracle spa
-- 查看oracle用戶信息,授予oracle用戶能操做新建立的備份目錄3d
chown -R oracle:oinstall /backuprest
--授予oracle用戶操做權限給備份數據庫文件/backup目錄日誌
ls -l --查看文件的信息blog
su - oracle --切換到Oracle用戶下crontab
cd $ORACLE_HOME --進入到Oracle軟件安裝的主目錄;it
pwd --查看工做目錄(這裏輸出的是Oracle目錄)
cd /backup/ --進入到備份數據庫目錄/backup 下
vi autobackup.sh --建立一個名字爲autobackup.sh的備份數據庫的腳本文件
在 vi autobackup.sh中輸入如下內容
#!/bin/sh --必須輸入
export ORACLE_BASE=/u01/oracle --Oralce軟件安裝目錄
export ORACLE_HOME=$ORALCE_BASE/product/11.2.0/db
--配置Oralce軟件的ORACLE_HOME目錄
export ORACLE_SID=orcl --配置Oralce數據庫實例名
export ORACLE_HOME=/usr/oracle/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
backup_date=`date +%Y%m%d` --建立存放當前日期變量backup_date
backup_dest=$(cd "$(dirname "$0")"; pwd)
--建立存放當前目錄變量backup_dest
backup_name=hbjrxy--建立存放備份文件名稱
days=30 -- 建立存放多少天變量days
exp hbjrxy/hbjrxy@orcl file=$backup_dest/$backup_name$backup_date.dmp log=$back_dest/$backup_name$backup_date.log owner=hbjrxy
--經過exp命令導出數據庫文件,須要修改用戶和用戶密碼
tar -zcvf $backup_dest/$backup_name$backup_date .tar.gz $backup_dest/$back_name$backup_date.dmp $back_dest/$backup_name$backup_date.log
--壓縮導出的數據庫文件以及日誌文件;
find $backup_dest -type f -name "*.log" -exec rm{} \;
-- 刪除腳本當前所在文件夾下以.log結尾的文件
find $backup_dest -type f -name "*.dmp" -exec rm{} \;
--刪除腳本當前文件所在文件夾下以.dmp結尾的文件;
find $backup_dest -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;
--刪除超過指定多少天以前的壓縮文件。
3)受權執行權限給備份腳本,執行測試腳本是否編寫成功
chmod +x autobackup.sh
--授予建立的備份數據庫腳本autobackup.sh文件執行權限
./autobackup.sh --執行編寫的備份數據庫腳本autobackup.sh文件;
ls -l --執行完畢以後看目錄是否有壓縮文件生成
4)建議執行任務時間
exit --回到root用戶
vi /etc/crontab -- 編輯定時任務文件/etc/crontab
--插入一條執行備份數據庫腳本的定時任務:
40 2 * * * oracle /backup/autobackup.sh
--指定的定時任務執行時間是凌晨2點40,用oracle用戶執行/backup/autobackup.sh文件
方法二:
crontab -e 編輯定時任務
crontab -l 查看定時任務
crontab -r 刪除定時任務
cat /var/log/cron 查看定時任務執行狀況
5)重啓任務服務
service crond restart
--執行service crond restart 重啓定時任務服務使定時任務生效
service rsyslog status 查看服務狀態