Создание резервных копий баз данных MYsql c помощью Bash скрипта
1734
12нравится
Все важные и основные данные сайтов хранятся в базе данных. Потеря этих данных может привести к тяжёлым последствиям для ваших проектов. Поэтому необходимо регулярно создавать резервные копии базы данных 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