同事給的乙個範例,簡單修改了一下,同樣適用於其他持久層。
備份使用shell指令碼 + crontab命令結合完成。
shell指令碼
# 取得系統格式化日期
date=`date +%y%m%d`
# 備份路徑
bak_dir=/root/develop/database-backup/file
# 備份檔案名格式
file_dir=bak_$
# 備份的資料庫名列表
dbarray=(db_1 db_2 db_3)
# 臨時目錄
mkdir -p $/$
# 迭代資料庫列表 分別匯出
for data in $
# 從資料庫匯出需要備份的資料
dofile_sql=$_$.sql
bak_path=$/$/$
mysqldump -h 192.168.1.15 -uuser -p'password' $ > $
echo "mysqldump -h 192.168.1.15 -uuser -p'password' $ > $"
done
# 打包
cd $
tar -cvzf $.tar.gz $
# 刪除臨時目錄
rm -rf $/$
# 只保留最近9天的備份
find $/*.tar.gz -mtime +9 -exec rm -f {} \;
crontab 命令
crontab -e
#每天凌晨6點備份一次
0 6 */1 * * /root/develop/database-backup/test.sh
資料庫備份指令碼
注意,如果在windows下編寫,由於換行等字元的不同,在unix下可能會報錯。bin bash 設定mysql備份目錄 folder path home backup mysql cd folder day date y m d rm rf day mkdir day cd day 資料庫服務 i...
Oracle資料庫備份指令碼
rem oracle資料庫備份指令碼 rem 1 提供兩種備份模式 exp,exp dp rem 2 提供資料壓縮功能 rem 3 提供將備份檔案拷貝到遠端目錄功能 rem 4 提供異常處理功能 echo off title 資料庫名稱 備份 date time setremote path ip ...
MySQL資料庫備份指令碼
1.指令碼內容 單獨的指令碼 bin sh if 4 then echo usage 0 db host db user db pwd db name exit fiprefix date y m d h m s filepath root dbbackup date y m 4 prefix if...