Главная / Блог / shell/bash
//

shell/bash

Создание резервных копий баз данных MYsql c помощью Bash скрипта

Создание резервных копий баз данных MYsql c помощью Bash скрипта

Все важные и основные данные сайтов хранятся в базе данных. Потеря этих данных может привести к тяжёлым последствиям для ваших проектов. Поэтому необходимо регулярно создавать резервные копии базы данных MySQL.

Существует два способа резервного копирования: физический (файлы базы данных на сервере) и логический (создание копий с помощью утилит и скриптов). В нашем случаем мы рассмотрим пример логического способа. Данный скрипт необходимо добавить в cron для регулярного копирования по расписанию. 

 

MyUSER="username"       # USERNAME
MyPASS="pass"       # PASSWORD
MyHOST="localhost"  # Hostname
MYSQL="/usr/bin/mysql"
MYSQLDUMP="/usr/bin/mysqldump"
GZIP="gzip" 
 
# дата в виде yyyy-mm-dd
NOW="$(/bin/date +"%Y-%m-%d")"
 
TEMPNAME="$(/bin/date +"%u")"

# директория куда сохраняются дампы
DEST="/root/dump/$TEMPNAME"

[ -d $DEST ] || mkdir $DEST 

# переменная для файла
FILE=""
# переменная со списком баз
DBS=""
 
# получаем список всех баз данных
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
 
for db in $DBS
do

       #FILE="$DEST/$db.$NOW.gz"
       FILE="$DEST/$db.gz"
       echo "Start MYSQLDUMP $FILE"
	
        #через mysqldump получаем данные
       $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP > $FILE

done

Проекты