Самое прекрасное — это когда нужна поддержка сайта, а ты сидишь с телефоном
в руке и ЗНАЕШЬ, чей номер набрать! т. +7 831 4637611 моб. +7 910 3820622Айтишник РУ Нижний Новгород, Симферопольская, 21
A+ A A-

Резервное копирование сайта на Joomla 2.5

Автоматическое получение резервных копий

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

Теперь рассмотрим рекомендованный разработчиком способ получения резервных копий. Способ заключается в копировании файла по протоколу SFTP (SSH File Transfer Protocol). Для этих целей будем использовать ftp-клиент FileZilla. На мой взгляд это лучший ftp-клиент в своём роде, кроссплатформенный, поддерживающий передачу данных в зашифрованном виде. О том, почему следует шифровать передачу данных и минимизировать риски взлома сайта можно почитать здесь. Устанавливаем ftp-клиент FileZilla, на момент написания статьи была доступна версия 3.5.2 (и для Windows, и для Linux). Установка тривиальна и в этой статье я не буду об этом писать.

Для того, чтобы организовать передачу данных по SFTP нам в первую очередь понадобятся учётные данные пользователя, которому разрешен доступ по SSH и адрес сервера. Для этого заходим в панель управления хостингом.

Хостинг. Настройка доступа

В группе настроек «Веб-сервер» выбираем пункт «Управление доступом» и в открывшемся окне переходим по ссылке «SSH». После этого кликаем на кнопке «Изменить пароль». В качестве логина будет использоваться логин для входа в панель управления хостингом, а адрес сервера будет иметь вид: ssh.yourlogin.nichost.ru, где yourlogin – это ваш логин. Например, ваш логин для входа в панель управления хостингом – superb. Значит адрес сервера будет следующим: ssh.superb.nichost.ru

Запускаем FileZilla, переходим в меню «Передача» и выставляем режим передачи «Двоичный». Далее перходим в меню «Файл» и запускаем «Менеджер сайтов». В окне менеджера сайтов, на вкладке «Общие» нажимаем кнопку «Новый сайт» и заполняем требуемые поля своими данными.

Joomla 1.7 Получение резервной копии

На вкладке «Дополнительно», в поле ввода «Локальный каталог по умолчанию» можно сразу назначить каталог для хранения резервных копий. Нажимаем кнопку «Соединиться». При первом запуске появится окно «Неизвестный ключ». Отмечаем опцию «Всегда доверять этому хосту, добавить ключ в кэш». Если данные верны, происходит соединение с сервером. Затем в области «Удалённый сайт» находим папку со своим логином и переходим в корневую директорию своего сайта. Обычно путь её расположения выглядит так: Ваш_логин -> Ваш_сайт -> docs. Переходим в директорию, где хранятся резервные копии. Если вы в настройках Akeeba Backup оставили путь по умолчанию или подставили переменную [DEFAULT_OUTPUT], то путь к резервным копиям будет следующим: administrator/components/com_akeeba/backup. Кликаем правой кнопкой мыши на файле резервной копии в списке файлов, расположенном ниже списка папок в области «Удалённый сайт» и выбираем «Скачать». Процесс пошёл! После окончании передачи файла разрываем соединение с сервером, нажав сочетание клавиш Ctrl+D.

Автоматическое получение резервных копий маленьких сайтов

Теперь поговорим об автоматическом получении резервных копий с сервера. Одну из возможностей получения резервной копии разработчик рекомендует использовать в качестве дополнения к резервному копированию по расписанию. Это возможность получения резервной копии в виде архивов по электронной почте. Отмечу, что способ получения резервной копии по электронной почте, больше подходит для небольших сайтов, так как архив будет делиться на части по 1 – 2 Мб. Переходим к настройкам Akeeba Backup. Заходим в «Параметры компонента», на знакомую уже нам вкладку «Резервное копирование с сайта».

Akeeba Backup отправка архива по эл. почте

Выставляем переключатель «Сообщить на почту о завершении резервного копирования» в положение «Yes». Вводим адрес электронной почты, на который будут приходить письма с резервными копиями. Пишем тему и текст в теле письма, при этом можно использовать знакомые нам подстановки такие как [HOST], [DATE] и т. д. Полный список переменных описывается в документации Akeeba Backup. Нажимаем «Сохранить и закрыть» и переходим в панель управления Akeeba Backup, в «Настройки».

Akeeba Backup деление архива

В группе «Дополнительные настройки» кликаем на кнопке «Настроить» в пункте «Способ архивирования». Используемый формат у нас JPA. Нас интересует параметр «Размер части для составного архива». Устанавливаем размер для части архива в 1 Мб. Сохраняем настройки и ждём, когда после очередного выполнения задания по расписанию нам в почтовый ящик придут письма с резервной копией нашего сайта разбитой на части меньше или равные 1 Мб.

Автоматическое получение резервных копий средних сайтов

Следующий способ автоматизации заключается в том, чтобы автоматически, по расписанию копировать архив с резервной копией с сервера на локальный компьютер. Предположим, что бэкап у нас выполняется по расписанию каждые сутки в 01:00. Архив с резервной копией будем забирать в эти же сутки, но в 03:00. Имя архива задано в настройках как [DATE]-[HOST], т. е. имя архива, созданного 14.12.11 будет 20111214-yoursite.jpa. Архив представляет собой один файл.

Если мы работаем в Windows, то для безопасной передачи по SFTP будем использовать программу psftp, входящую в комплект утилит PuTTY. Эту программу можно запускать с внешним файлом, в котором записаны команды, которые будут выполняться программой psftp на сервере. Нам понадобится небольшой скрипт. Откроем «Блокнот», введём следующий код ...

@echo off

echo cd /home/yourlogin/yoursite/docs/administrator/components/com_akeeba/backup>tmp.conf

echo lcd J:\Backup>>tmp.conf

echo get %date:~6,4%%date:~3,2%%date:~0,2%-yoursite.jpa>>tmp.conf

psftp -l yourlogin -pw yourpass -b "C:\Program Files\PuTTY\tmp.conf" ssh.yourlogin.nichost.ru && del tmp.conf

... и сохраним файл как backup.cmd. В начале работы скрипт создаёт временный внешний файл для программы psftp, а после окончания работы удаляет его. Временный внешний файл будет создаваться в той же директории, в какой расположен скрипт и программа psftp (в этом примере и скрипт и psftp должны находиться в одной папке). Как это работает? Вторая строка создаёт временный внешний файл в текущей директории (у меня это "C:\Program Files\PuTTY") и записывает команду смены удалённого каталога. Удалённым каталогом у нас выступает каталог наших резервных копий на сервере (замените на свой). Третья строка дописывает во временный файл команду смены локального каталога. Локальный каталог – это конечная папка для хранения резервных копий (замените на свой). Четвёртая строка дописывает в файл команду получения архива резервной копии. Внимание! Часть имени файла формируется из даты в формате «ДД.ММ.ГГГГ» в формат «ГГГГММДД». Если у вас на компьютере формат даты другой, то следует изменить эту строку. Пятая строка отвечает за запуск программы psftp с заданными параметрами, где l – логин для входа на сервер, pw – пароль, b – полный путь к временному внешнему файлу. В этой же строке записывается имя сервера и указание для удаления временного файла после окончания копирования. Так как в скрипте мы указываем наши данные в открытом виде, то будет лучше зашифровать его хотя бы средствами NTFS.

Создаём задание и устанавливаем расписание. Кто забыл, как это делается, смотрите например, здесь.

 

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё статьи о Joomla 2.5

    • Настройка Apache, MySQL, PHP

      Настройка Apache, MySQL, PHPОткрываем в текстовом редакторе конфигурационный файл вэб-сервера Apache. Он называется httpd.conf и находится в корневой папке сервера, в поддиректории conf. В нашем примере C:\www\conf\httpd.conf. Найдём и раскомментируем (удалим...

    • Материалы в Joomla 2.5. Медиа-менеджер

      Материалы в Joomla 2.5. Медиа-менеджерВ этой статье я продолжаю знакомить читателя с материалами в Joomla 2.5. В предыдущих статьях мы познакомились с понятием материала, а так же научились управлять категориями и статьями. Можно было бы приступить к размещению информации...

    • Общие настройки сайта на Joomla

      Общие настройки сайта на JoomlaПосле установки Joomla, настройки резервного копирования, а так же знакомства с восстановлением сайта, займёмся общими настройками. В панели управления сайта кликнем на кнопке быстрого доступа «Общие настройки». Общие настройки можно ещё...

    • Контакты и почтовые формы в joomla

      Контакты и почтовые формы в joomlaОдной из важных страниц большинства сайтов является страница с контактной информацией и почтовой формой обратной связи. В этой статье мы рассмотрим пример того, как можно создать такую страницу в Joomla. По традиции, сначала рассмотрим организацию...

    • Маленький шаг в безопасность Joomla 2.5

      Маленький шаг в безопасность Joomla 2.5Как известно, всегда есть, мягко говоря, любопытные люди, так и мечтающие «поколдовать» в чужой админке. В Joomla админка, она же панель управления, располагается по адресу: http://наш_сайт/administrator/. Так вот в целях безопасности лучше поменять адрес входа в панель...

    • Joomla 2.5

      Joomla 2.5Здравствуйте, дорогие читатели и читательницы! Это первая статья посвящённая созданию сайтов на Joomla. И в ней я хочу рассказать о CMS Joomla!, о том для чего она нужна, о преимуществах Joomla 2.5 и об её отличиях от предыдущих версий. За читателем остаётся право согласиться с автором...