Окт 26 2008

Бекап mysql

Бекап всего, что есть на сервере, вот от чего постоянно болит голова у системного администратора. Для резервного копирования баз mysql существует масса инструментов. Один из простых и эффективно работающих это AutoMySQLBackup. Он представляет из себя bash скрипт. В настройке он очень прост. После того как вы его скачаете с http://sourceforge.net/projects/automysqlbackup/ и распакуете, под FreeBSD необходимо сделать небольшие изменения, изначально начало скрипта выглядит так:

#!/bin/bash

Это надо изменить на:

#!/usr/local/bin/bash

Это мы изменили путь к командному интерпретатору bash, он находится немного в другом месте в FreeBSD, в отличии от Linux для которого и ведется разработка этого скрипта.
Далее приступим к настройке. Все настройки хранятся опять таки внутри скрипта:
1. Настраиваем авторизацию на доступ к mysql, находим строки и заменяем своими параметрами

# Username to access the MySQL server e.g. dbuser
#Имя пользователя для доступа к MySQL серверу
USERNAME=hilik
# Username to access the MySQL server e.g. password
#Пароль для доступа к MySQL серверу, если пароль 
#не установлен, то можно оставить пустым
PASSWORD=hilik
# Host name (or IP address) of MySQL server e.g localhost
#IP адрес или имя хоста на котором находится
#MySQL сервер
DBHOST=localhost

2. Перечисляем базы которые необходимо бекапить

# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
DBNAMES="mysql hilik"

3. В какой директории будем складывать бекапы

BACKUPDIR="/home/share/mysql-backup"

4. E-Mail для отчетов

MAILADDR="hilik@hilik.org.ua"

Далее идет секция дополнительных настроек. Как правило менять эти настройки нет необходимости.
Устанавливаем в крон на периодическое выполнение.

crontab -e

Устанавливаем выполнение на 0 часов, скрипт находится в /root/bin/:

0 0 * * * /root/bin/automysqlbackup.sh

Восстановить базу после бекапа довольно просто. Достаточно найти в указанной для бекапа директории, нужный бекап — распаковать его и с помощью команды mysql вставить назад. Делается это так:

mysql -uhilik -philik < hilik_2008-10-20_00h10m.Monday.sql

Здесь hilik_2008-10-20_00h10m.Monday.sql — это имя файла бекапа базы hilik, после распаковки.


Украинская Баннерная Сеть