» » Делаем бекап всех MySQL-баз, каждую кладём в отдельный файл

 

Делаем бекап всех MySQL-баз, каждую кладём в отдельный файл

Автор: Apache от 12-08-2012, 22:45, посмотрело: 4492

0

 

Меня очень задрало, если в случае необходимости приходится выковыривать из слитного бекапа всех баз данных какую-то конкретную базу.

Сегодня гнев победил лень, и я нашёл на http://www.snowfrog.net/2005/11/16/backup-multiple-databases-into-separate-files/, а потом и немного модифицировал скрипт для бекапа всех баз данных в отдельные файлы.

 

При этом, файлы называются именами баз, и всё складывается в папку, названную датой бекапа.

Отлично работает в Ubuntu

 

 

#!/bin/bash
# sonia 16-nov-05, upd. by apache 12-aug-12
# backup each mysql db into a different file, rather than one big file
# as with --all-databases - will make restores easier

USER="username" #указываем имя пользователя СУБД с полными правами
PASSWORD="***"  #указываем его пароль
OUTPUTDIR="/media/backup/" # путь для бекапа, не забываем проверить права на эту папку - она должна быть доступна на запись (хотя бы 750)
MYSQLDUMP="/usr/bin/mysqldump"
MYSQL="/usr/bin/mysql"

# clean up any old backups - save space
rm "$OUTPUTDIR/*bak" > /dev/null 2>&1
mkdir $OUTPUTDIR/`date +%Y-%m-%d`/
# get a list of databases
databases=`$MYSQL --user=$USER --password=$PASSWORD \
-e "SHOW DATABASES;" | tr -d "| " | grep -v Database`

# dump each database in turn
for db in $databases; do
echo $db
$MYSQLDUMP --force --opt --user=$USER --password=$PASSWORD \
--databases $db | bzip2 > "$OUTPUTDIR/`date +%Y-%m-%d`/$db.bz2"
done

Теги: backup, MySQL, Linux

Категория: Server

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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


Вход через соцсети:
Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос:
Ответ:*