Mysql 數據庫自動備份Shell腳本

#!/bin/bash
#Shell Command For Backup MySQL Database Everyday Automatically By Crontab
 
USER=root
PASSWORD="123456"
DATABASE="test"
HOSTNAME="192.168.156.61"
 
[email protected]
 
BACKUP_DIR=/home/firefoxbug/mysql_back/ #備份文件存儲路徑
LOGFILE=/home/firefoxbug/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 "———————————————–" >> $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
fi
#輸出備份過程結束的提醒消息
echo “Backup Process Done”
crontab -e
*/1 * * * * /tmp/auto_log.sh >/dev/null  2>&1


發佈了165 篇原創文章 · 獲贊 17 · 訪問量 94萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章