Bash скрипт резервного копирования MySQL

Aliexpress IN

Пример простого bash скрипта, позволяющего автоматизировать создание резервной копии всех баз MySQL.

Mysql

Bash скрипт MySQL BackUp

Скрипт подключается к серверу MySQL, получает список всех доступных баз, после чего делает резервную копию баз данных, с помощью mysqldump, упаковывая каждый дамп в отдельный архив.

#!/bin/bash
NOW=$(date +"%d-%m-%Y")

# Location to store backup
BAKUP="/data/.mysql-database"

# MySQL Server settinfs
MUSER="root" #### mysql user name ###
MPASS="" #### mysql password ###
MHOST="localhost" #### mysql host name ###

# Full path to common utilities
MYSQL="/usr/bin/mysql"
MYSQLDUMP="/usr/bin/mysqldump"
GZIP="/bin/gzip"

if [ ! -d "$BAK" ]
then
    mkdir -p "$BAK"
fi

# Get all mysql databases list
DBList="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"

echo -n "Start backup..."

for db in $DBList
do
    echo -n "Dump... $db"
    FILE="BAKUP/mysql-$db.$NOW-$(date +"%T").gz"
    $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
    echo -n "."
done
echo -n "...Done"

Установка скрипта в крон

Добавляем права на исполнение скрипта

chmod +x /path/name.sh

Открываем крон на редактирование

crontab -e

и добавляем строку

0 4 * * * /bin/bash -c "/path/name.sh"

Так же можно автоматически установить задачу в крон Управление cron из консоли Linux

 

Добавить комментарий