(1)在服務器上創建備份目錄,並賦予權限
(2)完成備份腳本操作
新建腳本文件
vi bakdata.sh
添加以下內容:
#!/bin/sh
dateTime=`date +%Y_%m_%d` #當前系統時間
days=7 #刪除7天前的備份數據s
orowner=bakuser # 備份到此用戶下
bakdescdir=/DATA/bakmdata #備份文件到該路徑
bakdata=$orowner"_"$dateTime.tar.gz #備份文件名
baklog=$orowner"_"$dateTime.log #備份日志
baksrcdir=/DATA/www/moodledata #需要備份的文件
remotePath=/DATA/moodle/bakmooldedata #遠程服務器的路徑
cd $bakdescdir #進入備份目錄
mkdir -p $orowner #按需要備份的用戶創建目錄
cd $orowner #進入目錄
echo "backup start at $dateTime" > $baklog
echo "--------------------------" >>$baklog
tar -zcvf $bakdata $baksrcdir $baklog #壓縮備份文件和日志文件
find $bakdescdir/$orowner -type f -name "*.log" -exec rm {} \; #刪除日志文件
find $bakdescdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;#刪除7天前的備份(注意:{} \中間有空格)
scp $bakdescdir/$orowner/$bakdata 10.6.108.79:$remotePath #上傳到遠程服務器
(3)添加腳本執行權限
chmod +x /backup/oracledata/ordatabak.sh
(4)編輯系統任務執行計划
crontab -e
輸入一下信息“:
00 01 * * * /DATA/bakdata/bakdata.sh#每天凌晨1點,以oracle用戶執行ordatabak.sh備份文件
:wq! #保存退出
重啟crontab
service crond restart
從此每天的凌晨1點 系統會自動完成數據庫的備份,壓縮,並上傳到遠程服務器的指定路徑下