mysql 備份腳本
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 備份腳本