1. 程式人生 > >mysql 備份腳本

mysql 備份腳本

mysql mysq備份腳本

#!/bin/bash


DBname=用戶名 #DB數據庫

backup_dir=/data/mysqlbackup/DataBackup #備份目錄

dbrootpwd=密碼 #DB用戶名root密碼:

expired_days=7 #BD備份存儲7天


LogFile=$backup_dir/db.log #日誌文件

DumpFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d_%H).sql #備份數據庫文件

NewFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d_%H).tgz #新增備份數據庫文件

OldFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d --date="$expired_days days ago")*.tgz #舊的備份文件 “7 days ago”意思是7天以前時間


[ ! -e "$backup_dir" ] && mkdir -p $backup_dir #判斷備份目錄/data/mysqlbackup/DataBackup不存在,那麽新建備份目錄


if [ -n "`ls $OldFile 2>/dev/null`" ];then #當串的長度大於0時為真(串非空),查看 2>/dev/null代表不輸出錯誤提示信息。

/bin/rm -f $OldFile

echo "[$OldFile] Delete Old File Success" >> $LogFile

else

echo "[$OldFile] Delete Old Backup File" >> $LogFile

fi


if [ -e "$NewFile" ];then #如果新文件存在,那麽輸出日誌為那麽不能備份

echo "`date +%Y%m%d_%H`: [$NewFile] The Backup File is exists, Can't Backup" >> $LogFile

else #否則創建新的備份文件,進入備份路徑,壓縮新增備份數據庫文件.tgz,刪除備份的.sql文件。

/usr/bin/mysqldump -uroot -p$dbrootpwd -h10.66.126.90 --opt --databases dinner llh llh_bomb > $DumpFile

cd $backup_dir

tar czf $NewFile ${DumpFile##*/} >> $LogFile 2>&1 #${file##*/}:刪掉最後一個/ 及其左邊的字符串:my.file.txt 壓縮新備份數據庫,並刪除.sql數據庫

echo "`date +%Y%m%d_%H`: [$NewFile] Backup success ">> $LogFile #追加打印備份成功的日誌

/bin/rm -f $DumpFile

fi


mysql 備份腳本