4 Июня 2007 в 09:31

Защита от форс-мажора (резервное копирование)

0 1329

Дмитрий МалыхинЗнакомая ситуация — веб-проект, на который ушло несчитанное количество человеко-часов, был просто уничтожен ошибкой при работе с базой, установкой непроверенного компонента, сбоем в работе системы и т.д. Чтобы избежать бессмысленной потери времени (а равно как нервов и драгоценного сна), рекомендуется делать резервное копирование данных.

Резервное копирование необходимо для возможности быстрого и недорогого восстановления информации (документов, программ, настроек и т. д.) в случае потери рабочей копии информации по какой-либо причине. Кроме этого, решаются смежные проблемы: дублирование данных и передача данных.

Введение в резервное копирование сайта

В случае с использованием Joomla! надо делать копии базы данных MySQL и файлов системы, что не слишком удобно делать «вручную» из-за:

  1. Отдельного копирования данных MySQL базы.
  2. Отдельного копирования файлов сайта.
  3. Применения разных инструментов для операций с разными типами данных.
  4. Синхронизации состояния базы и состояния файлов проекта.
  5. Выделения из резервной копии файлов сайта: папки с временными файлами, папки с кэшируемыми данными (зачем нам таскать мусор с собой).
  6. Опять же, на площадке, где Вы размещаете данные, может не быть доступа по SSH, FTP, инструментов для работы с базами данных.
  7. Сложность (вернее, трудоемкость) держать файлы базы, файлы проекта в одном архиве для обеспечения синхронизации данных.
  8. Да и охота работать в привычной обстановке, т.е. в административной панели Joomla!
Конечно, многие хостеры предоставляют средства автоматического резервного копирования, но опять же, пункты с 1 по 8 очень актуальны. Следует добавить, что если резервное копирование совершается на тот же диск, площадку, то при серьезной аварии или смене хостинга эти данные будут не доступны.

Да и не надо забывать про последующее восстановления системы с резервной копии, если восстановиться с ней не возможно или затруднительно, то смысл в ней?

При прочтении выше указанных пунктов сформировались требования к системе резервного копирования:
  • Надёжность хранения информации. Обеспечивается дублированием информации и заменой утерянной копии другой в случае уничтожения одной из копий. Сохранение копии на другом носителе. Быстрый доступ к резервной копии. Авторизованный доступ к резервной копии.
  • Простота в эксплуатации — по возможности минимизировать участие человека.
  • Быстрое внедрение — лёгкая установка и настройка системы резервного копирования, краткое обучение пользователей.
  • Совместное хранение файлов базы и файлов проекта.
  • Интеграция с панелью Администрирования Joomla!
  • Выборочность — возможность выборки игнорируемых папок проекта.
  • Восстановимость — простота восстановления исходного состояния системы.

JoomlaPack — инструмент для создания резервных копий

Нашей командой был локализован и модифицирован компонент JoomlaPack, который соответствует выше перечисленным требованиям и позволяет:

  1. Создавать резервную копию базы данных и файлов проекта в один архив.
  2. Работает в «один клик» мышки.
  3. Сохраняет резервную копию в папку сайта.
  4. Позволяет управлять резервными копиями — удаление, копирование их на ваш жесткий диск.
  5. Производить выборку игнорируемых папок, которые не надо включать в проект.
  6. При создании резервной копии вы можете выбрать режим архивирования или сжатия в один файл (папку).
  7. При создании резервной копии создает установочный дистрибутив Joomla! с вашими настройками — т.е. делается полная копия всех файлов и базы данных — для восстановления, просто запустите установку и вы получите полную копию вашего сайта.

    Примечание: В качестве установщика используется дистрибутив Joomla! LE 2007 – но работать будет на всех версиях 1.12.

  8. Режим совместимости с MySQL 4.x – 5.x.
  9. Кросбраузерность.
  10. Возможность доступа к резервным копиям с любой точки мира.
  11. Работа пользователям любого уровня компетенции.
  12. Настройки сохраняются в файл конфигурации — очень полезно при сбоях базы или не при желании увеличивать нагрузку.
  13. Множество приятных особенностей, в частности:
    • Процесс создания резервной копии наглядно показывается на странице.
    • Не происходит аварийных сбоев по причине таймаута сервера.
    • Не происходит сбоев по причине ограничение размера памяти для скрипта.

Установка компонента JoomlaPack

  1. Заходим в административную панель, выбираем в меню «Установка–Компоненты».
  2. Выбираем компонент для установки и нажимаем кнопку «Загрузить и установить».
  3. Компонент успешно установился. Читаем имена тех, кто локализовал и модифицировал это чудо, обещаем при случае угостить пивом и нажимаем – «Продолжить».

Настройка компонента JoomlaPack

После успешной установки выбираем в меню административной панели «Компоненты–JoomlaPack».

Затем в панели управления компонентом JoomlaPack выберем пункт «Базовая конфигурация» и производим базовую настройку компонента. Следим, чтобы надпись «Файл конфигурации» была зеленого цвета — тем самым мы обеспечим сохранение результатов настройки. В противном случае меняем права файла конфигурации configuration.php, в корне Joomla, на 777.

И начинаем внимательно просматривать поля настройки:
  • Папка для сохранения резервных копий — куда сохранять резервные копии. По умолчанию стоит joomla/administrator/components/com_jpack/temp. Смените куда вам удобней. Следует учесть — эта папка должна быть доступна для записи. Я рекомендую создать папку «copy» в корне сайта и дать на нее права чтения/записи.
  • Временная папка — куда сохранять временные файлы. По умолчанию стоит joomla/administrator/components/com_jpack/temp. Смените куда вам удобней. Однако обратите внимание, что эта папка должна так же быть доступна для записи. Я рекомендую создать папку «tmp» в корне сайта и дать на нее права чтения/записи.
  • Шаблон имени файла — имя файла резервной копии, по умолчанию site-[HOST]-[DATE]-[TIME]. В [ ] задаются шаблоны переменных. Не надо менять без необходимости, и так неплохо.
Расширенные настройки JoomlaPack
  • Совместимость при экспорте БД MySQ — выбираем режим совместимости формата экспорта баз данных. Рекомендую поставить режим совместимости с версией 4.х. – он позволяет без проблем импортировать в версии и выше, но избавит от проблем использования на большинстве серверов.
  • Политика создания списка файлов — при большом сайте следует выбрать за несколько раз, при небольшом – за один. Отражается на скорости обработки и стабильности работы.
  • Политика сохранения БД MySQL — при большом сайте следует выбрать за несколько раз, при небольшом – за один раз. Отражается на скорости обработки и стабильности работы.
  • Сжать архив после создания? — Предлагает сжать резервную копию в один файл ZIP (рекомендую), не сжимать (точная копия сайта с базой в виде инсталляционной версии), сжимать – сжимает файл в один, но не архивирует.
Настроили? Нажимаем «Сохранить» вверху экрана для внесения изменений в конфигурацию компонента. После этого возвращаемся в панель управления компонентом и проверяем состояние JoomlaPack (справа от кнопок панели управления должно быть написано: «Готовность». В противном случае исправляем настройки. Затем переключаемся на вкладку «Подробно» и проверяем, что там у обоих пунктов состояние: «Доступен на запись». В противном случае или меняем папки в настройках, или выставляем права на папки.

Создание резервной копии с помощью JoomlaPack

Предварительные приготовления закончены, теперь создаем резервную копию. Для этого в панели управления JoomlaPack нажимаем кнопку «Создать резервную копию». Нас предупреждают, чтобы мы уселись по удобней, завершили все сторонние процессы с файлами Joomla! (если они были) и выразили свое согласие, нажав на кнопку: «Создать резервную копию».

Резервная копия создается. Пожалуйста, не покидайте это страницы, не останавливайте ее, не обновляйте до завершения операции. В случае ошибки создания резервной копии система постарается сообщить Вам, что она предпринимает для успешного завершение операции. В случае критической ошибки, такой как выделения места, времени, попробуйте сменить режим работы в настройках — поставьте проходить несколько раз.

После того как резервная копия создана, можно перейти в раздел «Управление резервными копиями» и проверить, появилась ли там резервная копия.

Управление резервными копиями в JoomlaPack

Управление резервными копиями производится в специальном разделе компонента JoomlaPack. Чтобы попасть в менеджер резервных копий, необходимо в панели управления JoomlaPack нажать кнопку «Управление резервными копиями».

Сразу после создания резервной копии рекомендуется сохранить ее на локальный диск. Для этого нажмите кнопку «скачать», расположенную в той же строке, что и название вашей резервной копии. После нажатия на кнопку браузер предложит вам стандартный диалог сохранения файла, учтите, он может отличаться от версии используемого браузера. Также тут можно удалить старые резервные копии, чтобы они не занимали места. Учтите, что при создании бекапа делается копия всех папок на сервере и при большем количестве уже созданных резервных копий они буду попадать в архив, тем самым размер архива будет неоправданно расти.

Для указания системе о том, какие папки не надо включать в архив, перейдите в раздел «Исключить из резервной копии» в административной панели компонента. И в предложенном списке укажите папки, которые не надо добавлять в резервные копии, в частности, выше указанные «copy» и «tmp». После указания папки JoomlaPack попросит Вас подождать для применения изменений.

Если вы изменили список папок, то после этого рекомендуется создать еще одну резервную копию, без этих папок, и сохранить ее на свой диск.

Восстановление данных из резервной копии

При восстановлении системы с резервной копии в режиме установки скопируйте содержимое архива на хостинг, заменив все файлы и удалите или переименуйте файл «configuration.php», в противном случае Вы не сможете запустить инсталлятор.

Внимание: если при восстановлении сайта из резервной копии Вы не хотите восстанавливать базу данных, то просто не отмечайте пункт «Удалить существующие таблицы».

Заключение

Все! Теперь наша система надежда готова к превратностям судьбы. Также следует заметить, что так можно не только делать резервную копию, но переносить сайт на хостинг, клонировать сайты, создавать свои сборки. Почему это возможно? Да потому что создается ПОЛНЫЙ ИНСТАЛЯТОР Joomla! со всеми вашими настройками, базой данной, установленными дополнениями, всеми файлами вашего сайта.

Но все-таки для создания сборок рекомендую подождать выхода финальной версии нашего «Сборщика». Более подробнее по созданию своих сборок будет описано в следующей статье.

Скачать дистрибутив JoomlaPack Joomlaportal Edition можно на нашем форуме в теме JoomlaPack Joomlaportal edition.
0 комментариев
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:

Отправьте отзыв!