Файл /etc/services уже должен иметь записи со следующими именами и номерами портов. Если этих записей нет, то отредактируйте файл /etc/servi ces и добавьте их в конце. Комментарии не обязательны:
/etc/services:
amanda 10080/udp # Службы резервного копирования amanda
amandaidx 10082/tcp # Службы резервного копирования amanda
amidxtape 10083/tcp # Службы резервного копирования amanda
Вам может также потребоваться исправить файл /etc/inetd.conf, содержащий следующие записи:
/etc/inetd.conf: (for clients)
amanda dgram udp wait backup /usr/sbin/tcpd /usr/lib/amanda/amandad /etc/inetd.conf: (for server)
amandaidx stream tcp nowait backup /usr/sbin/tcpd /usr/1ib/amanda/amindexd
amidxtape stream tcp nowait backup /usr/sbin/tcpd /usr/1ib/amanda/amidxtaped
Первая запись — amanda — нужна для всех клиентов. Остальные две записи нужны только для сервера. Если этих строк нет, отредактируйте файл /etc/inetd.conf и добавьте их в конце.
Amanda использует случайные порты после начальной коммуникации. Вы должны использовать Amanda в Интернете только через VPN (частную виртуальную сеть). Это помогает избежать необходимости открытия большого количества портов из Интернета в вашу локальную сеть.
Система Amanda в качестве пользователя запускает команду backup с групповыми правами доступа disk. Вы должны настроить права доступа для всех файлов, для которых хотите сделать резервные копии, чтобы они могли читаться Amanda.
Сервер Amanda должен быть хорошо соединен с локальной сетью со значительной пропускной полосой для объема передаваемых данных. Он должен иметь очень большой дисковый накопитель с объемом, достаточным для выдерживания двойной нагрузки по сравнению с предполагаемой. Если сервер архивирует программы, то также требуется быстрый процессор.
Amanda поддерживает много конфигураций. Каждая конфигурация состоит из
трех строк в подкаталоге /etc/amanda.
О amanda. conf — основной файл конфигурации. Вы его редактируете, чтобы задать файл di ski i st (см. далее), устройство с магнитной лентой, частоту резервного копирования, адрес электронной почты, форматы отчетов и множество других параметров.
О di ski i st — этот файл указывает хосты и диски, подлежащие резервному копированию.
О tapel i st — в данном файле перечисляются активные ленты и файлы, записанные на каждую из них. Управляет этим файлом Amanda, поэтому вы можете его просмотреть, но не можете редактировать.
1. Остановите сервер MySQL:
2. Скопируйте данные файлов и директорий MySQL. Например, если директория с данными вашей базы MySQL /var/1 i b/mysql, а вы хотите сохранить ее в /trip/ mysqlbackup:
# ср г /var/1ib/mysql /tmp/mysqlbackupВместо ср вы можете использовать rsync, tar, gzi p или другие команды, описанные выше в этой главе.
3. Вновь запустите сервер:
Онлайновые резервные копии — более сложное дело. Если у вас есть независимые таблицы MylS AM (без внешних ключей или транзакций), вы можете по очереди заблокировать каждую из них, скопировать файлы и разблокировать таблицы.
Но у вас могут быть таблицы под названием InnoDB, а ктонибудь может написать транзакцию с использованием множественных таблиц. К счастью, существует несколько разумных некоммерческих решений, которые представляют сценарии mysql hotcopy, mysql snapshot и mysql dump, а также репликация.
mysql hotcopy — это сценарий Perl, который делает черновые онлайновые резервные копии таблиц ISAM или MylSAM. Специальное справочное руководство содержит много параметров, но здесь описано, как делать резервную копию в одну базу данных, называемую drupal:
Locked 57 tables in 0 seconds.
Flushed tables ('dmpal'. "access", "drupal '. 'accesslog', "drupal"."aggregator_category", "drupal"."aggregator_category_feed", "drupal"."aggregator_category_item", "drupal"."aggregator_feed", "drupal"."aggregator_item". "drupal"."authmap", "drupal". "blocks', "drupal"."book", "drupal"."boxes", "drupal"."cache". "drupal"."client". "drupal"."client_system", "drupal".'comments'. 'drupal'. "contact", "drupal". "fiTelevisions". "drupal"."files", 'drupal'.'filter_formats'. "drupal"."fiIters", 'drupal'.'flood", "drupal~."forum", "drupal"."history", "drupal"."locales_meta". 'drupal'.'locales_source'. "drupal"."locales_target". "drupal"."menu". "drupal"."node", "drupal"."node_access", "drupal"."node_comment_statisties". "drupal"."node_counter". "drupal"."node_revisions", "drupal"."permission", 'drupal'.'poll', 'drupal'.'poll_choices', 'drupal'.'poll_votes~. 'drupal'.'profile_fields', 'drupal'.'profile_values", 'drupal'.'role', 'drupal"."search_dataset". "drupal"."search_index", "drupal"."search_total". "drupal"."sequences".
"drupal'.'sessions', 'drupal'.'system', 'drupal'.'term_data', 'drupal'.'term_hierarchy'. 'drupal'.'ternwiode'. "drupal'.'term_relation', "drupal'.'term_synonym', "drupal"."url_alias". 'drupal'.'users'. 'drupal'.'users_roles'. "drupal'.'variable'. 'drupal'."vocabulary". 'drupal'.'vocabulary_node_types'. 'drupal'.'watchdog') in 0 seconds. Copying 171 files... Copying indices for 0 files... Unlocked tables.
mysqlhotcopy copied 57 tables (171 files) in 1 second (1 seconds overall).
Сценарий mysql snapshot даже проще. Он делает резервные копии всех таблиц ISAM или MylSAM вашего сервера одним тарболлом на базу данных:
checking for binary logging... ok backing up db drupal... done backing up db mysql... done backing up db test... done snapshot completed in /tmp
Вы можете найти сценарий mysql snapshot по адресу http://jeremy.zawodny.com/ mysql/mysqlsnapshot.
Если вы настроили репликацию MySQL для круглосуточного доступа, то можете сделать резервную копию со slavecepeepa, используя один из описанных только что методов. Вам также необходимо сохранить информацию о репликации (журналы, файлы конфигурации и т. д.). Просмотрите главы 7 и 9 книги High Performance MySQL Джереми Д. Заводни (Jeremy D. Zawodny) и Дерека Дж. Баллинга (Derek J. Balling) (издательство O'Reilly) для уточнения деталей.
Для дополнительной защиты аппаратного обеспечения настройте репликацию и оснастите ваш slaveсервер (и/или masterсервер) дисками RAID 1.
Многие сайты MySQL переносят данные с таблиц MylSAM в InnoDB для получения истинных логических единиц обработки и лучшей производительности записи. Авторы модуля InnoDB создали коммерческий продукт для создания в режиме онлайн резервных копий InnoDB. Он называется InnoDB Hot Backup, и вы можете заказать его по адресу http://www.innodb.com/order.php.
Последний метод обычно упоминается первым в документации: это mysql dump. Вместо «сырой» (идентичной) копии mysql dump создает ASCIIраспечатку указанных баз данных и таблиц. Команда поддерживает все типы таблиц MySQL, в том числе InnoDB. Команда работает сравнительно медленно, и создаваемые текстовые файлы имеют очень большой размер, но, впрочем, неплохо сжимаются. Подобные распечатки рекомендуется создавать время от времени, поскольку они содержат простой сценарий для воссоздания ваших баз данных и таблиц с нуля. Можно использовать редактор grep или другие текстовые инструменты для поиска информации или редактирования файлов распечаток.
Чтобы заблокировать все ваши таблицы и скопировать их в один файл, введите такую команду:
Вы можете вывести результат с помощью gzip для сохранения времени и места:
# mysqldump и пользователь рлароль х alldatabases | gzip > /tmp/mysql.dump.gzНовый инструмент с открытым кодом (бесплатное скачивание, платная поддержка) Zmanda Recovery Manager for MySQL предоставляет удобный внешний интерфейс для резервного копирования данных. На сайте Zmanda (http://www.zmanda. com/backupmysql.html) вы найдете все нужные детали, но здесь мы отметим лишь важные особенности:
О наличие интерфейса с командной строкой; О резервное копирование локальных баз данных через SSL; О сообщение электронной почтой о статусе процесса резервного копирования; О работу с таблицами всех типов, включая InnoDB;
О отсутствие новых методов резервного копирования; вместо этого делается выбор между mysql dump, mysql hotcopy, репликацией MySQL или снимками LVM; О поддержку восстановления отдельного действия в определенный момент времени.
Zmanda предоставляет файлы с расширениями TAR, GZ и RPM для многих дистрибутивов Linux. Для получения руководства установки на Debian смотрите сайт http://www.howtoforge.com/mysql_zrm_debian_sarge.