程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql備份腳本以及刪除前5天的備份文件

mysql備份腳本以及刪除前5天的備份文件

編輯:MySQL綜合教程

復制代碼 代碼如下:
USER=root #數據庫用戶名
PASSWORD=cucrzmysql #數據庫用戶密碼
#DATABASE=idssr #數據庫名稱
for DATABASE in `ls /mysql/data/mysql/ | grep idss` #數據庫名稱
do
#[email protected] #管理員郵箱地址,用以發送備份失敗消息提醒
BACKUP_DIR=/mysql_bak #備份文件存儲路徑
LOGFILE=/mysql_bak/data_backup.log #日記文件路徑
DATE=`date '+%Y%m%d-%H%M'` #日期格式(作為文件名)
DUMPFILE=$DATABASE-$DATE.sql #備份文件名
ARCHIVE=$DATABASE-$DATE.sql.tgz #壓縮文件名
DATE_5=`date -d "-5 day" +%Y%m%d`

#判斷備份文件存儲目錄是否存在,否則創建該目錄
if [ ! -d $BACKUP_DIR ];then
mkdir -p "$BACKUP_DIR"
fi

#開始備份之前,將備份信息頭寫入日記文件
echo " ">> $LOGFILE
echo "----------------------">> $LOGFILE
echo "BACKUP DATE:" $(date +"%Y-%m-%d %H:%M:%S") >> $LOGFILE
echo "----------------------">> $LOGFILE

#切換至備份目錄
cd $BACKUP_DIR
#刪除五天前的備份文件
rm -rf $DATABASE-$DATE_5*
#使用mysqldump 命令備份制定數據庫,並以格式化的時間戳命名備份文件
mysqldump --opt $DATABASE -uroot -pcucrzmysql > /$BACKUP_DIR/$DUMPFILE
#判斷數據庫備份是否成功
if [[ $? == 0 ]]; then
#創建備份文件的壓縮包
tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1
#輸入備份成功的消息到日記文件
echo "[$ARCHIVE] Backup Successful!" >> $LOGFILE
#刪除原始備份文件,只需保 留數據庫備份文件的壓縮包即可
rm -f $DUMPFILE
else
echo "Database Backup Fail!" >> $LOGFILE

#備份失敗後向網站管理者發送郵件提醒,需要mailutils或者類似終端下發送郵件工具的支持
#mail -s “Database:$DATABASE Daily Backup Fail” $WEBMASTER
fi
#輸出備份過程結束的提醒消息
echo "Backup Process Done"
done

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved