天天看點

mysql備份

#!/bin/bash

#Shell Command For Backup MySQL Database Everyday Automatically By Crontab

USER=root

PASSWORD="password"

DATABASE="test"

HOSTNAME="10.10.86.81"

[email protected]

BACKUP_DIR=/home/mysqlbak/mysql_back/ #備份檔案存儲路徑

LOGFILE=/home/mysqlbak/mysql_back/data_backup.log #日記檔案路徑

DATE=`date '+%Y%m%d-%H%M'` #日期格式(作為檔案名)

DUMPFILE=$DATE.sql #備份檔案名

ARCHIVE=$DATE.sql.tgz #壓縮檔案名

OPTIONS="-h$HOSTNAME -u$USER -p$PASSWORD $DATABASE"

#mysqldump -help

#判斷備份檔案存儲目錄是否存在,否則建立該目錄

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

#使用mysqldump 指令備份制定資料庫,并以格式化的時間戳命名備份檔案

mysqldump $OPTIONS > $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

#輸出備份過程結束的提醒消息

echo “Backup Process Done”[cpp] view plaincopyprint?

上一篇: mysql 備份
下一篇: oracle備份

繼續閱讀