mysql資料庫自動備份

來源:互聯網
上載者:User

標籤:inf   automatic   mkdir   fail   檔案名稱   輸入   dir   pass   crontab   

1、vi /home/wangcn/auto_log.sh
#!/bin/bash
#Shell Command For Backup MySQL Database Everyday Automatically By Crontab

USER=root
PASSWORD="[email protected]"
DATABASE="base_info"
HOSTNAME="192.168.1.233"

[email protected]

BACKUP_DIR=/home/rise1/software/backup/ #備份檔案儲存路徑
LOGFILE=/home/rise1/software/backup//data_backup.log #日記檔案路徑
DATE=`date ‘+%Y%m%d-%H%M‘` #日期格式(作為檔案名稱)
DUMPFILE=$DATE.sql #備份檔案名
ARCHIVE=$DATABASE$DATE.sql.tgz #壓縮檔名
OPTIONS="-h$HOSTNAME -u$USER -p$PASSWORD $DATABASE"
#mysqldump -help

echo "開始刪除前一日資料檔案"
rm -rf /home/rise1/software/backup/*

#判斷備份檔案儲存目錄是否存在,否則建立該目錄
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
#判斷Database Backup是否成功
if [[ $? == 0 ]]; then
#建立備份檔案的壓縮包
tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1
#輸入備份成功的訊息到日記檔案
echo “[$ARCHIVE] Backup Successful!” >> $LOGFILE
#刪除原始備份檔案,只需保留Database Backup檔案的壓縮包即可
rm -f $DUMPFILE
else
echo “Database Backup Fail!” >> $LOGFILE
fi
#輸出備份過程結束的提醒訊息
echo “Backup Process Done”
2、chmod 777 -R /home/wangcn/
3、crontab -e
*/1 * * * * /home/wangcn/auto_log.sh >/dev/null 2>&1

mysql資料庫自動備份

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.