建立備份文件存放的目錄mysql
mkdir /usr/local/dbbak
腳本:vi /usr/local/mysqlback.shsql
# /bin/bash DB_NAME="dsideal_db" DB_USER="root" DB_PASS="123456" BACK_DIR="/usr/local/dbbak" DATE="$DB_NAME-`date +'%Y-%m-%d=%H:%M:%S'`" LogFile="$BACK_DIR"/dbbakup.log #日誌記錄保存的目錄 BackNewFile=$DATE.sql mysqldump --opt --force -u$DB_USER -p$DB_PASS $DB_NAME > $BACK_DIR/$DATE.sql echo -----------------------"$(date +"%y-%m-%d %H:%M:%S")"----------------------- >> $LogFile echo createFile:"$BackNewFile" >> $LogFile find "/usr/local/dbbak/" -mtime +7 -type f -name "*.sql" -print > deleted.txt echo -e "delete files:\n" >> $LogFile #循環刪除匹配到的文件 cat deleted.txt | while read LINE do rm -rf $LINE echo $LINE>> $LogFile done echo "---------------------------------------------------------------" >> $LogFile
給sh腳本增長權限bash
chmod 777 /usr/local/mysqlback.sh
利用crontab,天天凌晨3點定時執行ide
crontab -e 0 03 * * * /usr/local/mysqlback.sh > /dev/null 2>&1
【備註】簡單的備份idea
mysqldump --databases test --flush-logs> /usr/local/backup-`date +%F-%H-%M`.sql