Бекап 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, после распаковки.