MySQL數據庫自動備份


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

USER=root 
PASSWORD="huazhen@123" 
DATABASE="base_info" 
HOSTNAME="192.168.1.233" 

WEBMASTER=wangcn@bestinvestor.com.cn 

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 
#判斷數據庫備份是否成功 
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”
2、chmod 777 -R /home/wangcn/
3、crontab -e 
*/1 * * * * /home/wangcn/auto_log.sh >/dev/null 2>&1

 

轉自:https://www.cnblogs.com/wangchunniu1314/p/6340048.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM