mysqldump數據庫備份示例

[root@localhost mdata]# cat mysql_backup.sh
#!/bin/bash
BACKUP_DIR=/mysql-backup
DATE_DIR=`date +%F`
[ -d $BACKUP_DIR/$DATE_DIR ] || mkdir $BACKUP_DIR/$DATE_DIR -p &>/dev/null
time="$(date +"%Y-%m-%d")"
USER=
PASS=
PORT=
 
 
#備份數據庫,全量備份
DB_LIST=$(/mdata/mysql/bin/mysql  -u$USER -p$PASS -P$PORT -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")
for DB in $DB_LIST; do
   if ! /mdata/mysql/bin/mysqldump -u$USER -p$PASS $DB > $BACKUP_DIR/$DATE_DIR/$DB-${time}.sql 2>/dev/null;then
   echo "$DATE_DIR   $DB-${time}.sql 備份失敗" >> /mdata/mysql/mysqlbackup.log
   fi
done
 
#刪除2天前的備份
DEL_DIR=`date -d "-2 days" +%F`
 
[ -d $BACKUP_DIR/$DEL_DIR ] && rm -rf $BACKUP_DIR/$DEL_DIR


#加入計劃任務
(echo "1 01 * * *  /mdata/mysql/mysql_backup.sh";crontab -l) |crontab

注:我這裏是二進制安裝,安裝目錄也可以自己修改爲變量,只做參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章